Iphone 是否会出现有关视图的一般说明? 我有一个关于VIEW会出现的一般问题,我新推了一个视图,考虑VIEW1,如果VIEW1推过另一个视图(VIEW2),那么现在调用VIEW将出现该方法。现在,如果view2被弹出,view1的ViewWillDisplay将再次被调用,我如何知道在哪种情况下它被调用,即(是因为新推或弹出了其他视图)
希望我的问题可以理解:)Iphone 是否会出现有关视图的一般说明? 我有一个关于VIEW会出现的一般问题,我新推了一个视图,考虑VIEW1,如果VIEW1推过另一个视图(VIEW2),那么现在调用VIEW将出现该方法。现在,如果view2被弹出,view1的ViewWillDisplay将再次被调用,我如何知道在哪种情况下它被调用,即(是因为新推或弹出了其他视图),iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,希望我的问题可以理解:) TIA只要记住,每当您的视图出现在屏幕上时(它将是可见的)视图将出现方法将被调用 在您的情况下,当view2再次弹出时,view1将显示在屏幕上,这就是为什么会再次调用它的VIEWWILLISE。按“新建视图控制器”时,新视图控制器将以相同的方式显示在屏幕上。在显示该视图之前,将调用新视图控制器的视图 我希望这是有意义的。坦率地说,我不知道如何适当地确定这种情况。 当然,您可以在view2的ViewWillEnglish方法中设置view1的某些属性,然后在view1的
TIA只要记住,每当您的视图出现在屏幕上时(它将是可见的)
视图将出现
方法将被调用
在您的情况下,当view2再次弹出时,view1将显示在屏幕上,这就是为什么会再次调用它的VIEWWILLISE
。按“新建视图控制器”时,新视图控制器将以相同的方式显示在屏幕上。在显示该视图之前,将调用新视图控制器的视图
我希望这是有意义的。坦率地说,我不知道如何适当地确定这种情况。
当然,您可以在view2的ViewWillEnglish方法中设置view1的某些属性,然后在view1的ViewWillEnglish中重新设置该属性。例如:
视图1.m:
- (void) viewWillAppear ... {
...
if (self.wasPopped) {...}
self.wasPopped = NO;
...
}
视图2.m:
- (void) viewWillDisappear {
view1.wasPopped = YES; //you would have to have a reference to view1 or fetch it from the navigation controller stack.
}
然而,我坚信这并不是你应该走的路。考虑将代码移到VIEWDIDLoad方法。当视图(控制器)在第一次调用ViewWillAppeal之前创建时,viewDidLoad只调用一次 您可以使用BOOL
值,并将其初始化为FALSE
。在视图中,将显示该BOOL值为TRUE
,在视图中,仅检查该BOOL值是为TRUE
还是为FALSE
,如果为TRUE,则表示该视图将再次显示。取决于您的选择上下文,您要使用
对于视图,将显示/视图显示
isBeingPresented
isMovingToParentViewController
对于视图,将消失/视图消失
isBeingDismissed
isMovingFromParentViewController
您的问题不可理解,请更具体一些……您可以添加一个BOOL值,并在调用函数时检查它是否更改……我如何知道BOOL var?是的,那么我如何区分这两种情况。可能吗?@FerozMohideen:Hermann Klecker提供了准确的代码。你可以用这个