以下是我正在使用的视频:
我希望在最外面的视图中添加标签titleLabel
" UIView"保持位于表格视图单元格中的子视图上方(在图像中,它将是UIButton
)。我的方法是约束IB中titleLabel
的Y值,并将titleLabel
的中心x值设置为UIButton
的中心x值(使用convertPoint)。
所以只是为了澄清:
// -> UIView
// ->-> titleLabel-------- This matches center.x's with...
// ->-> tableView
// ->->-> tableViewCell
// ->->->-> UIButton------ ...this
我可以通过将代码放在这里来实现它,但它只在需要加载新表格单元格时移动titleLabel
,并且它不会做当视图最初加载时,它似乎是我的问题:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("newCell") as? newCell {
cell.configureCell(myArray[indexPath.row])
let centerPoint = cell.myButton.convertPoint(cell.myButton.center, toView: self.view)
titleLabel.center.x = centerPoint.x - (titleLabel.frame.width / 2)
return cell
} else {
let cell = newCell()
let centerPoint = cell.myButton.convertPoint(cell.myButton.center, toView: self.view)
titleLabel.center.x = centerPoint.x - (titleLabel.frame.width / 2)
return cell
}
}
所以我只是想知道在哪里可以放置这些代码,以便在显示任何内容之前运行它?或者如果有人有更好的方法,我真的很感激帮助。对于任何想知道的人来说,无论屏幕/表格的大小如何,标题都将保持在单元格中的某些元素之上。非常感谢提前。
P.S。我意识到这也可能不是让它发挥作用的最有效方式,但我只是先把事情弄清楚。这里的任何提示也非常受欢迎
*借用SO上的这个问题借来的图像: Using convertPoint to get the relative position inside a parent UIView