Obj-C,在运行时更改自动布局,使

时间:2015-05-26 12:31:30

标签: ios objective-c cocoa-touch autolayout ios7.1

我正在尝试隐藏表格视图并在屏幕上移动按钮,这与我的自动布局设置不同。基本上,我有一个免费版本的应用程序,我隐藏的东西,然后如果他们购买我需要将约束设置回接口构建器中的那些。

我有一个类似的问题,但我认为我的方法基本上存在缺陷......(我已经接受了提供和回答的建议,并提出了这个单独的问题。)

ObjC, revert to interface builder autolayout constraints, after adding / removing programmatically?

我可以正常运行,这会修改我的界面构建器约束。 但是,当用户点击升级时,我无法再次设置修改它们/约束。

无论我做什么,在运行时使用可视格式语言,或使用NSLayoutConstraint constraintWithItem出口复制然后修改我不会改变的约束。我已经尝试删除约束出口,复制我在viewdidload中存储的那些并删除vfl约束,我为我的免费版本添加的精确副本。

我收到了一些vfl警告,直到我添加了优先级。

在某种程度上我是否可以为所有内容转储vfl并尝试找出问题,或者可以说出我尝试过的方法失败的原因?

1 个答案:

答案 0 :(得分:0)

不要尝试在运行时替换和恢复约束,而应考虑在Interface Builder中设置所需的所有约束,并引用与状态相关的约束。然后,当状态根据您自己的逻辑更改时,激活适合状态的约束并停用不合适的约束。 NSLayoutConstraint具有active属性,用于确定是否用于布置其视图。