標籤:
?自訂cell的步驟(每個cell的?高度不?一樣,每個cell?裡?面顯?示的 內容也不?一樣)
建立?一個繼承?自UITableViewCell的?子類
2. 在initWithStyle:方法中進行?控制項的初始化
1> 將有可能顯?示的所有?子控制項都添加到contentView中
2> 順便設定?子控制項的?一些屬性(?一次性的設定:字型、?文字顏?色、背景
3. 提供2個模型
1> ?一個是資料模型(?文字資料 + 圖?片資料)
2> ?一個是frame模型(資料模型 + 所有?子控制項的frame + cell的?高度)
4. cell應該提供?一個frame模型屬性
1> 將frame模型傳遞給cell
2> cell根據frame模型給?子控制項設定frame,根據資料模型給?子控制項設定資料
3> cell根據資料模型決定顯?示和隱藏哪些?子控制項
5. 在tableView的代理?方法返回cell的?高度
計算文字label的尺寸方法
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxW:(CGFloat)maxW
{
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = font;
CGSize maxSize = CGSizeMake(maxW, MAXFLOAT);
return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
{
return [self sizeWithText:text font:font maxW:MAXFLOAT];
}
iOS ?自訂cell的步驟