프로그래밍 방식으로 모든 작업을 수행하고 있습니다. 나는 UITableViewCell 하위 클래스중인 행 가진 UITableView 있어요. 화면에 아무 것도 나타나지 않으면 내 셀의 accessoryType을 설정할 수 없습니다. 나중에 셀을 선택하고 선택하면 체크 표시를 추가 할 수 있기를 원합니다.UITableViewCell 하위 클래스의 액세서리 유형이 보이지 않습니다.
class ContactsTableViewCell: UITableViewCell {
let name = UILabel()
let phoneNumber = UILabel()
let iPADFACTOR:CGFloat = DeviceHelper().isIPAD ? 1.4: 1.0
var rowSelected = false
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
phoneNumber.font = UIFont.systemFontOfSize(15)
phoneNumber.textColor = UIColor.lightGrayColor()
self.contentView.addSubview(name)
self.contentView.addSubview(phoneNumber)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
let margeV:CGFloat = 5.0*iPADFACTOR
let margeH = self.frame.width*0.05
name.frame = CGRectMake(margeH, margeV, self.frame.width - margeH * 4, 18)
phoneNumber.frame = CGRectMake(margeH, name.frame.maxY + 5, self.frame.width - margeH * 4, 15)
}
}
당신은 내가 내 라벨의 프레임을 설정하려면 layoutSubviews()
방법을 사용하고 있는데 나는 그것이 성공없이 accessoryView을 숨기고 어떻게 든 여부를 확인하기 위해 라벨 크기와 함께 연주 해봤 볼 수 있듯이. 심지어 프레임을 0으로 설정하려고 시도했습니다.
프레임을 올바르게 설정하고 있는지 확실하지 않습니다. self.frame
대신 self.contentView.frame
을 사용해야합니까?
감사합니다. 감사합니다.
유는 cellForRowAtIndexPath 메소드 내부 셀의 tableview – vaibby
기록 cell.accessoryType = UITableViewCellAccessoryType.Checkmark 폭을 확인할 수있다. –
'cellForRowAtIndexPath'의 코드를 보여줄 수 있습니까? –