我尝试在UITableView
内添加UIScrollView
但是当我使用 UITableView
tableView.contentSize.height的高度时> 它没有正确设置高度(它增加了实际高度的额外高度)
有人可以帮忙吗?
答案 0 :(得分:0)
我可以将表的内容大小设置为表高度,并通过以下方式修改scrollView的内容大小。
我刚刚在scrollView中设计了表,并调用从viewDidAppear
我的代码:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.extraDesignAfterStoryboard();
}
override func viewDidAppear(animated: Bool) {
self.modifyContentHeight();
}
func extraDesignAfterStoryboard()
{
scrolVw = UIScrollView();
scrolVw.frame = CGRectMake(0, 64, self.view.frame.size.width, 200);
scrolVw.backgroundColor = UIColor.greenColor();
self.view.addSubview(scrolVw);
tblViewScr = UITableView(frame: CGRectMake(0, 80, scrolVw.frame.size.width, 120), style: UITableViewStyle.Plain);
tblViewScr.delegate = self;
tblViewScr.tag = 100;
tblViewScr.dataSource = self;
tblViewScr.scrollEnabled = false;
tblViewScr.backgroundColor = UIColor.redColor();
scrolVw.addSubview(tblViewScr);
}
func modifyContentHeight()
{
if(self.tblViewScr.contentSize.height > self.tblViewScr.frame.height){
var frame: CGRect = self.tblViewScr.frame;
frame.size.height = self.tblViewScr.contentSize.height;
self.tblViewScr.frame = frame;
var contentSize = self.scrolVw.contentSize;
contentSize.height = CGRectGetMaxY(self.tblViewScr.frame);
self.scrolVw.contentSize = contentSize;
}
}
它在我的演示项目中工作。 你可以检查一下,如果它适合你。