製作一個自定義的UITableViewCell。
看看下面的例子。 內的tableView(的tableView:UITableView的,的cellForRowAtIndexPath indexPath:NSIndexPath)方法,我動態改變TimeStatus(UIView的)幀大小:
.
.
.
let cell:OneTVChannelTableViewCell = tableView.dequeueReusableCellWithIdentifier(OneCurrentChannelTCIdentifier, forIndexPath: indexPath) as OneTVChannelTableViewCell
.
.
.
cell.setForRepairDynamicViewWidth(channelTimeStatusWidth)
.
.
.
這裏是我的簡單的自定義的UITableViewCell:
class OneTVChannelTableViewCell: UITableViewCell {
@IBOutlet weak var Number: UILabel!
@IBOutlet weak var Image: UIImageView!
@IBOutlet weak var Title: UILabel!
@IBOutlet weak var TimeStatus: UIView!
@IBOutlet weak var TimeBack: UIView!
var RepairWidth:CGFloat = 0.0
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
override func layoutSubviews() {
super.layoutSubviews()
TimeStatus.frame.size.width = RepairWidth
}
func setForRepairDynamicViewWidth(width:CGFloat)
{
RepairWidth = width
}
}
是否使用自動佈局? – rdelmar
這不是你如何引用tableviewcell的子視圖並改變它們的框架。這可能是在tableview的委託tableView:cellForRowAtIndexPath或tableView:willDisplayCell:forRowAtIndexPath:中。 – ldindu
爲什麼你不使用標籤?你可以參考它使用'[cell viewWithTag:1]'例如... – CainaSouza