IB通过单元格UITableViewCell
添加了UISWitch
。以编程方式设置文本UILabel
时,UISwitch
重叠。
如何避免这种情况?
获取UILabel中文本的大小,然后将UISwitch移到新位置。
添加约束,表明它们之间的距离大于0
如果将开关置于UILabel
的右侧,则可以将其设置为代码中单元格的附件视图:
let switch = UISwitch()
// Position the switch to the trailing edge of the cell
cell.accessoryView = switch
// Tell the text label to reduce text size if the switch gets in the way
cell.textLabel?.adjustsFontSizeToFitWidth = true
这样,您将不必处理定位/自动布局。我相信这也可以在Interface Builder中完成-参见https://stackoverflow.com/a/45849911/1646862(在这种情况下,请确保设置标签的Autoshrink属性)