雖然與UITableViewCellStyleDefault
你UITableViewCell
免費獲得imageView
財產,你可以用它,爲了以防萬一,你想擁有對imageView
位置和標籤對細胞的精細控制,你需要去定製UITableViewCell
。下面是關於如何實現這一目標的步驟:
步驟1:創建一個新的子類UITableViewCell
說MyCustomCell
。
@interface MyCustomCell : UITableViewCell
步驟2:在MyCustomCell.m
實施initWithStyle:reuseIdentifier:
方法,並添加任何自定義視圖中的單元格內容視圖。
- (id)initWithStyle:(UITableViewCellStyle)iStyle reuseIdentifier:(NSString *)iReuseIdentifier {
if ((self = [super initWithStyle:iStyle reuseIdentifier:iReuseIdentifier])) {
MyView *myCustomView = [[MyView alloc] init];
myCustomView.frame = CGRectMake(6.0f, 6.0f, 30.0f, 30.0f);
[self.contentView addSubview:myCustomView];
}
return self;
}
第3步:實現layoutSubviews
方法來對你的內容的子視圖精細控制。
- (void)layoutSubviews {
[super layoutSubviews];
self.imageView.frame = CGRectMake(6.0f, 6.0f, 30.0f, 30.0f);
GFloat textLabelXPosition = self.imageView.frame.origin.x + self.imageView.frame.size.width + 10;
self.textLabel.frame = CGRectMake(textLabelXPosition, 0.0, contentRect.size.width - textLabelXPosition, contentRect.size.height);
}
第4步:在你的表視圖控制器的cellForRowAtIndexPath:
方法最後使用MyCustomCell
實例。
用故事板或XIB來設計你的 – SomeGuy
是有辦法做到這一點編程? – cdub
以編程方式創建自定義單元格:http://www.mysamplecode.com/2013/06/ios-programmatically-create-custom-cell.html – NeverHopeless