我有一个UISegmentedController我有3个UIViewControllers像照片,框架,画廊。 我使用'addSubView'在Superview中添加这3个视图。在框架视图中,我添加了一个名为EditView的子视图。在EditView中,我做了一些更改,我想在帧视图中更新这些更改。但是,当从帧视图中删除EditView时,任何一种方法都不会调用。然后如何更新superview中子视图的更改。树:UISegmentedController - >框架(Su) - > EditViews(子视图)。任何人都可以帮助我......如何从iPad的子视图更新Superview?
1
A
回答
5
我发现代码来更新从子视图superview中的东西。请在您的子视图中使用此代码。它会调用你的superview viewWillAppear方法。您可以使用其他方法而不是viewWillAppear。这个对我有用。
for (UIView* next = [self.view superview]; next; next = next.superview)
{
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]])
{
[(UIViewController*)nextResponder viewWillAppear:YES];
}
}
-Yuva.M
2
通过使用UIView
的superview
属性,您可以访问任何UIView
的超级视图。
以下声明将在您的EditView
中。
FrameView* mySuperFrameView = (FrameView*)self.superview;
下一条语句可能会调用超级视图函数。
[mySuperFrameView updateMySuperView];
updateMySuperView是你superview
的一部分。
0
从其超级视图中删除视图会释放它。
在从其超级视图中删除editView之前提交您的更改。您可以在编辑视图中覆盖removeFromSuperview
,并在调用super removeFromSuperview
之前进行数据处理。
或者您的视图控制器可以在删除它之前从editView中获取数据。
相关问题
- 1. 从superview管理子视图?
- 2. iPad - 如何刷新ipad的子视图?
- 3. 如何显示superview的子视图?
- 4. 如何更新子视图?
- 5. 从其SuperView中删除视图,在iPhone上通知子视图
- 6. 更新父从子视图
- 7. 如何更新inputView子视图的UILabel?
- 8. 如何更改uiscrollview的superview?
- 9. 如何调整superview大小时调整所有子视图/子图层?
- 10. Swift ||从Superview动画和删除子视图时出现Bug
- 11. Swift 3 - 如何从Superview中删除所有子视图以及数组
- 12. 从Ember更新子视图。查看
- 13. 更新IBOutlet从主视图从子视图
- 14. 如何从WPF中的子视图更改父视图属性?
- 15. 从superview刷新日期
- 16. iPhone - layoutSubviews更新子视图
- 17. 更新UITableViewCell子视图
- 18. iPad SplitView作为子视图
- 19. 从UIScrollView中删除子视图并更新视图
- 20. (iphone)在superview的界限之外设置子视图的框架?
- 21. 从子视图中更改视图
- 22. 如何更新视图? (angular2)
- 23. Superview的UILongPressGestureRecognizer被调用而不是子视图
- 24. 在Cocoa,UIResponder中发送子视图到superview的消息?
- 25. 在子视图(按钮)上调用Superview的tabgesture点击
- 26. 刷新UIView从子视图
- 27. 如何从另一个视图更新表视图
- 28. 从另一个视图更新视图
- 29. 更新超视图帧更改后子视图的约束
- 30. 如何从按钮修改内容时从Superview中以编程方式创建的子视图?
@Jhaliya感谢您的现货生存。我将在我的应用程序上实现您的代码。 – 2011-06-10 05:59:41
你好朋友我实现你的代码。我叫FrameView * mySuperFrameView =(FrameView *)self.superview;在EditView中,但是有一个错误是在'Request for member'superview'这一行是不是结构或联合'。 self.superview选项可用。任何更多的想法。请保存我的一天.. – 2011-06-10 06:04:13
只需更改 FrameView * mySuperFrameView =(FrameView *)self.view.superview; – iAmitWagh 2011-06-10 06:12:16