我正在创建一个应用程序,它将有一个问题在UILabel
和多项选择答案显示在UITableView
中,每行显示多项选择。问题和答案将有所不同,所以我需要这个UITableView
是动态的高度。
我想找一个适合这张桌子的sizeToFit
。其中表格的框架被设置为其所有内容的高度。
有人能建议我如何实现这一点吗?
发布于 2010-04-08 03:29:25
实际上我自己找到了答案。
我刚刚使用table.contentSize.height
的height
为tableView.frame
创建了一个新的CGRect
它将UITableView
的高度设置为其内容的height
。因为代码修改了UI,所以不要忘记在主线程中运行它:
dispatch_async(dispatch_get_main_queue(), ^{
//This code will run in the main thread:
CGRect frame = self.tableView.frame;
frame.size.height = self.tableView.contentSize.height;
self.tableView.frame = frame;
});
发布于 2013-10-24 23:21:06
我已经在iOS 7中尝试过了,它对我很有效
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView sizeToFit];
}
发布于 2014-08-21 13:15:03
为表视图上的contentSize属性添加一个观察者,并相应地调整框架大小
[your_tableview addObserver:self forKeyPath:@"contentSize" options:0 context:NULL];
然后在回调中:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
CGRect frame = your_tableview.frame;
frame.size = your_tableview.contentSize;
your_tableview.frame = frame;
}
希望这能对你有所帮助。
https://stackoverflow.com/questions/2595118
复制相似问题