我有一个场景,其中我有:UIScrollView的对象,而不是返回
- 与一个UIViewController(mainVC)配有一个UIView(MAINVIEW)一个UINavigationController含有一个UIScrollView(滚动视图)
- 一个在mainView中的全屏按钮,在这个按钮上点击它会推入一个新的UIViewController(fullScreenVC),并通过引用传递给它的scrollView对象(与属性非原子和赋值一起存储)。 fullScreenVC正确显示scrollView对象。
- 在关闭fullScreenVC后,NSNotification被发送到mainVC。这就是问题所在......
当fullScreenVC被删除时,scrollVC不再显示在mainVC中。我可以通过在通知期间打印出日志上的scrollView来告诉它仍然存在。
我会认为通过引用发送和存储scrollView,mainVC仍然会保留它。我也尝试将scrollView发送回mainVC以防它被移除,但那没有做任何事情。
解决它的唯一方法是在通知步骤中将scrollView添加回mainVC。在发送UIScrollView对象(或更一般的UIKit对象)时有什么特别的事情要做?或者我在某处做了些什么愚蠢的事情?
啊,这是有道理的,一个视图只能有一个超级视图。我在2个不同的屏幕中使用滚动的原因是因为在滚动视图中添加了一些项目的设置很多,我认为重新创建它是件浪费。当我完成后,我最终将其添加回mainView。 我认为按引用传递和传递指针是一样的东西(与通过值传递相反,在哪里传递对象)?可能只是C/C++术语。 – zlog 2011-08-15 08:54:38