iOS - 在代码中更改自动布局约束而不更新视图位置

时间:2014-04-03 13:33:12

标签: ios objective-c uiviewcontroller autolayout iboutlet

我有一个在Interface Builder(Storyboard)中设计的UIViewController,它包含一个UISearchBar。 UISearchBar具有自动布局约束,可将其固定到顶部布局指南。在我的UIViewController子类中,我有一个IBOutlet NSLayoutConstraint连接到约束,以便我可以在代码中调整它。根据用户事件,我通过修改0和-44之间约束的constant属性来隐藏/取消隐藏UISearchBar,这也会滑动放置在UISearchBar下面的视图。我之前使用过这种技术,一切运作良好。

我的问题是我现在在具有UITabBar的父容器UIViewController中使用此UIViewController的4个实例。更改UITabBar选项卡选项后,我使用insertSubView交换相应的实例。问题是UISearchBar只在其中一个标签页实例中滑动。在另外3个观点中没有一个观点移动。我使用NSLog来监视约束的constant属性的值,并且它在每个实例中都被更改,只是不影响视图位置。我猜这与IBOutlet有关,只是认识到连接到一个实例?

我正在使用Xcode 5.1,我的应用程序正在针对iOS7。

更新

我现在意识到它只是第一个子视图控制器(标签页),其中重新定位视图不起作用,以下3页都可以工作。

0 个答案:

没有答案
相关问题