【发布时间】:2016-04-24 22:52:04
【问题描述】:
我的故事板上有一个 UITableView。我想根据其他信息以编程方式在 viewDidLoad 中调整它的 y 值。我似乎无法理解。我觉得我错过了一些非常简单的东西。我已经尝试了以下所有方法:
CGRect myFrame = tableView.frame;
[self->tableView removeFromSuperview];
myFrame.origin.y = myLabel.frame.origin.y+21;
tableView.frame = myFrame;
[self.view addSubview:tableView];
还有:
tableView.frame = CGRectMake(tableView.frame.origin.x, myLabel.frame.origin.y+21, tableView.frame.size.width, tableView.frame.size.height);
还有:
[tableView setFrame:CGRectMake(tableView.frame.origin.x, myLabel.frame.origin.y+21, tableView.frame.size.width, tableView.frame.size.height)];
最后:
CGRect myFrame = tableView.frame;
myFrame.origin.y = myLabel.frame.origin.y + 21;
tableView.frame = myFrame;
我从与我类似的其他堆栈问题中找到了这些 sn-ps 代码。他们都没有为我工作。我究竟做错了什么?任何帮助将不胜感激!
【问题讨论】:
-
为什么这么复杂?为什么要删除FromSuperview?你考虑过自动布局的想法吗?
-
我只是在尝试多种方法。所有这些都在不同的问题上。如您所见,它们都没有工作@heximal。如果您知道如何解决问题,您可以发布答案吗?
-
你在使用自动布局吗?如果是这样,您在 tableView 上设置了什么约束?
-
我没有使用自动布局@beyowulf。除了 tableview 之外,视图的所有其他元素都是以编程方式创建的。这样做的原因是,我可以使用情节提要更轻松地设置自定义单元格和单元格标签上的约束。我想在我把它放在情节提要上之后,必须有一种简单的方法来调整代码中的 tableview 框架
-
你有没有试过在设置框架之前说
self.tableView.translatesAutoresizingMaskIntoConstraints = YES;?
标签: ios objective-c uitableview xcode-storyboard