我有一个场景:
删除fullScreenVC后,mainVC中不再显示scrollView。我可以告诉它仍然存在,通过在通知期间在日志上打印出scrollView。
我想通过引用发送和存储scrollView,mainVC仍然会保留它。我还尝试将scrollView发送回mainVC以防它被删除,但是没有做任何事情。
解决问题的唯一方法是在通知步骤中将scrollView添加回mainVC。发送UIScrollView对象(或更常见的UIKit对象)时,我需要做些什么特别的事情吗?或者我在某处做过蠢事?
答案 0 :(得分:1)
没有传递参考。在Objective-C中,我们有指向对象的指针,这些指针被分配和传递(从不是对象本身)。
无论如何,这与此无关。您的问题是在UIKit中,视图只能有一个超级视图(它是一个树形层次结构)。当您将视图作为子视图添加到另一个视图时,它会自动从其先前的超级视图中删除(如果有的话)。请参阅addSubview的文档:此处:https://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instm/UIView/addSubview:
您真的需要在两个不同的屏幕上显示相同的滚动视图吗?这看起来很奇怪。你应该有两个不同的滚动视图;或者,您可以确保在完成另一个之后将其添加回“mainView”。