我在swift中使用了以下代码:
label.layer.cornerRadius = CGRectGetWidth(label.frame) / 2
label.layer.masksToBounds = true
这很好用,但是我的排高度更高,它是44,然后我做了66高。现在圆形标签是椭圆形的。
我注意到,当我maskToBounds
为假时,我可以看到标签的背景更像是一个矩形。虽然它的尺寸设置为方形,但它的宽度并不像标签那么高。我做错了什么?
在override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
内,我正在调用一个名为Configure cell的函数,该函数接受UITableViewCell并只更新文本。
func configureTextForCell(cell: UITableViewCell, withPlayer player: Player){
let jerseyLabel = cell.viewWithTag(3000) as! UILabel
jerseyLabel.text = String(player.jerseyNumber)
circleLabels(jerseyLabel, hex: "#6470FF")
}
CircleLabels()
是这样的:
func circleLabels(label: UILabel, hex: String){
label.layer.cornerRadius = label.frame.size.width/2
label.layer.masksToBounds = true
}
答案 0 :(得分:1)
与布置单元格时相比,调用时间似乎是一个问题。一个简单的解决方法是在故事板和代码中使单元格大小相同
self.tableView.rowHeight
或在委托函数中)