gpt4 book ai didi

ios - Swift 中 UIScrollView 内的 UITableView 高度

转载 作者:行者123 更新时间:2023-11-29 00:40:27 28 4
gpt4 key购买 nike

我正在尝试在 UIScrollView 中添加一个 UITableView 但是当我使用 tableView.contentSize.height 它没有正确设置高度(它在实际高度的基础上增加了额外的高度)

有人可以帮忙吗?

This is what I want to achieve

最佳答案

我可以将表格的内容大小设置为表格高度,并通过以下方式修改scrollView的内容大小。

我只是在scrollView中设计了表格,并从viewDidAppear调用修改表格的高度和scrollView的内容大小

我的代码:

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;
}
}

它正在我的演示项目中工作。您可以检查一次,如果它对您有用。

关于ios - Swift 中 UIScrollView 内的 UITableView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637945/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com