鑑於以下UITableViewCell代碼,我們如何使myObj.firstName
紅色和myObj.lastName
綠色?UITableViewCell中的多種顏色
UITableViewCell *cell;
....
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ %@", myObj.firstName, myObj.lastName];
鑑於以下UITableViewCell代碼,我們如何使myObj.firstName
紅色和myObj.lastName
綠色?UITableViewCell中的多種顏色
UITableViewCell *cell;
....
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ %@", myObj.firstName, myObj.lastName];
你將需要UILabel
兩個實例來實現這一點,因爲UILabel
不支持的NSAttributedString
繪製實例。您也可以繼承UITableViewCell
,覆蓋drawRect:
,並使用NSString上的-drawTextAtPoint:
方法手動繪製帶有所需顏色的文本。
或許,這可以幫助別人,我已經......
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = [tv dequeueReusableCellWithIdentifier:@"Cell"];
...
// Get the size of UILabel firstName.
CGSize size = [[cell.firstName text] sizeWithFont:[cell.firstName font]];
// Draw UILabel lastName next to UILabel firstName.
// UILabel firstName was initialized in CustomCell.m in -(void)layoutSubviews.
cell.lastName.frame = CGRectMake(size.width + 50, 23, 40, 15);
// Make lastName green, oh yeah!
cell.lastName.textColor = [UIColor colorWithRed:0 green:0.6 blue:0 alpha:1];
}
顏色需要動態地根據數據集解決了這個。這仍然是可以在一個子類中工作的東西嗎? – jwhat