How to update Superview from its Subview in iPad?
我有一个UISegmentedController我有3个UIViewControllers像照片,框架,画廊。
我使用" addSubView"在Superview中添加了这3个视图。 在框架视图中,我添加了一个名为EditView的子视图。 在EditView中,我做了一些更改,我想在帧视图中更新这些更改。 但是,当从框架视图中删除EditView时,不会调用任何单个方法。 然后如何在超级视图中从子视图更新更改。 树:UISegmentedController-> Frames(Su)-> EditViews(Subview)。 谁能帮我..
我找到了从子视图中更新超级视图中某些内容的代码。 请在您的子视图中使用此代码。 它将调用您的超级视图viewWillAppear方法。 您可以使用其他方法代替viewWillAppear。 这个对我有用。
1 2 3 4 5 6 7 8 | for (UIView* next = [self.view superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { [(UIViewController*)nextResponder viewWillAppear:YES]; } } |
-尤瓦
您可以使用
以下语句将在您的
1 | FrameView* mySuperFrameView = (FrameView*)self.superview; |
下一条语句可能是调用超级视图函数。
1 | [mySuperFrameView updateMySuperView]; |
updateMySuperView是
从其超级视图中删除视图会释放它。
在将editView从其超级视图中删除之前,请提交更改。 您可以在editView中覆盖
或者,您的视图控制器可以在删除它之前从editView中获取数据。