【问题标题】:How to hide segment control and expand UITableView?如何隐藏段控制并展开UITableView?
【发布时间】:2015-08-07 05:02:43
【问题描述】:

我对 1 个视图有 2 个 segues。我希望为第一个 segue 显示段控件并将其隐藏并将表格扩展到视图边缘以进行第二个 segue。 我尝试使用setHidden: YES,但该方法不允许我将段控制的空间用于表格。

由于声誉低,我无法发布图片,但这里是 link to screenshot

【问题讨论】:

  • 您已经根据 segues 设置了 Tableview 框架。 setHidden Only 隐藏视图。所以你必须增加表格视图高度为tableView.frame = CGRectMake(xx,xx,xx,xx + segmentCtrl Height);

标签: ios objective-c iphone uitableview


【解决方案1】:

如果您使用自动布局,则有两个选项

选项 1: 如果您不想在隐藏后保留视图中的段控件,请为表格视图底部边缘添加约束,将其设置为常量 0 并将优先级设置为高(或低于表格视图和段控件的任何值)。现在,从 superview 中删除段控件。(参考here

选项 2: 为 tableview 底部交易添加一个约束,并将其常量设置为某个高度,从而为分段控制提供足够的空间。然后将布局约束与 IBOutlet 连接起来。当你想隐藏分段控件时,隐藏它并将布局约束的常量设置为 0。

【讨论】:

  • 我添加了这个,但我认为我的约束创建不正确:NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.tableView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.0];
  • 你在哪里创建了这个约束
  • 在我的UIViewControllerviewWillAppear 方法中
  • 最好将其添加到 xib 本身并在需要时更改常量
猜你喜欢
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
相关资源
最近更新 更多