我目前正在制作iPad原型。 我有一个视图控制器,它包含3个表视图,在分段控件下分别作为列分割,选择其中一个我想在中心隐藏tableview的段,并在左右两个表视图之间平均分享可用空间。我怎样才能做到这一点。 我刚开始研究目标C所以任何帮助都会很棒! 我正在使用xcode 4.6,因此默认情况下在视图控制器上选择自动布局。
谢谢!
答案 0 :(得分:0)
如果您有两个不同的布局无法使用相同的自动布局约束处理,那么诀窍就是拥有第二组优先级较低的约束,当您切换到备用UI布局时,优先级会增加(在您的情况下) ,隐藏中心表视图)。您通常还必须降低原始布局所需的一个或多个约束的优先级。
在布局UI时,您首先要设置约束,以便它们适用于具有所有三个表视图的布局。然后为“两个表视图”情况添加优先级较低的约束。在您的控制器中,为那些优先级较低的约束以及阻止它们工作的所有约束创建IBOutlet属性。将出口连接到用户界面中的约束。
切换到两个表视图时,您将执行以下操作:
[centerTableView setHidden:YES];
// lower the priority for all constraints that don't apply for two table views
[someConstraint setPriority: NSLayoutPriorityDefaultLow];
// ...
// increase the priority for all previously low-priority constraints
[someOtherConstraint setPriority:NSLayoutPriorityDefaultHigh];
// ...