【发布时间】:2016-05-03 08:27:50
【问题描述】:
我有 ScrollView,在这个滚动视图中我有按钮和一个表格。我想在加载表单时更改位置按钮和尺寸表。 例如,如果表格由 5 个单元格组成,则按钮位置需要在 200 上更改 y(向下)。并且表格需要有 height = height_table + 200。
我的代码:
var yPosition: CGFloat = 0;
var scrollViewContentSize: CGFloat = 505;
var names = ["first","second","third","fourth","fifth"]
override func viewDidAppear(animated: Bool) {
self.yPosition += 40 * CGFloat(names.count)
self.scrollViewContentSize += 40 * CGFloat(names.count)
self.scrlMain.contentSize = CGSize(width: 320,height: self.scrollViewContentSize)
let btnY1: CGFloat = 40 * CGFloat(names.count) + 467
btn1.frame.origin = CGPoint(x: 210, y: btnY1)
let btnY2: CGFloat = 44 * CGFloat(names.count) + 386
btn2.frame = CGRectMake(26, btnY2, 46, 30)
let btnY3: CGFloat = 44 * CGFloat(names.count) + 427
btn3.frame = CGRectMake(26, btnY3, 46, 30)
var framelb: CGRect = lb.frame
framelb.origin.y += 40 * CGFloat(names.count)
framelb.origin.x = 110
lb.frame = framelb
tableView.contentOffset.y += 40 * CGFloat(names.count)
tableView.contentSize = CGSize(width: 304, height: tableView.contentOffset.y)
}
我做错了什么?
我尝试添加 func setControlsPosition,但没有任何反应。
代码:
func setControlsPosition(){
tableView.contentOffset.y += 40 * CGFloat(names.count)
tableView.contentSize = CGSize(width: 304, height: tableView.contentOffset.y)
let lblY: CGFloat = tableView.frame.origin.y + tableView.frame.size.height+10 //10 for spacing between tableView and label
lb.frame = CGRectMake(26, lblY, 46, 30)
let btn1Y: CGFloat = lb.frame.origin.y + lb.frame.size.height + 10 // Spacing between label and button
btn1Y.frame = CGRectMake(26, btn1Y, 46, 30)
}
//This is code work well
override func viewDidAppear(animated: Bool) {
self.yPosition += 40 * CGFloat(names.count)
self.scrollViewContentSize += 40 * CGFloat(names.count)
self.scrlMain.contentSize = CGSize(width: 320,height: self.scrollViewContentSize)
//This function is performed, but nothing changes
setControlsPosition()
}
我检查了,函数 setControlsPosition 中的 names.count = 5。没错。
【问题讨论】:
-
你有一个滚动视图,在这个滚动视图中有一个tableView?
-
你能解释一下吗?你有一个滚动视图,有一个表格(滚动视图)和一个按钮?第一个滚动视图是水平的?
-
我有滚动视图,在这个滚动视图中有表格视图和按钮。
-
@Dim 请分享任何屏幕截图,因为您的问题与您实施的内容混淆。为什么你用按钮(btnY1)取常量。是否要在 tableview 的末尾显示所有按钮?
-
我添加了屏幕。是的,我想在 tableview 的末尾显示所有按钮。
标签: ios swift uitableview uiscrollview position