根据查询格式化UITableView单元格文本字体

时间:2013-06-05 09:11:19

标签: ios objective-c uitableview

下面的UITableView单元格根据搜索类型交替显示文本位置。 “文本”标签设置为“标准”,详细信息文本当前设置为“斜体”。我希望这是相反的。

即。 if genusSpecies:animal.commonName then textLabel = ItalicFont else if animal.commonName:genusSpecies then textLabel = StandardFont

我想将此规则应用于以下代码。

- (void)setAnimal:(ITanimal *)animal forType:(ITSectionType)type {
    _animal = animal;

    BOOL isCommonType = (type == ITSectionTypeCommonName);
    NSString *genusSpecies = animal.species];

    [self.textLabel setFont:ItalicFont];
    [self.textLabel setText:(!isCommonType)? genusSpecies : animal.commonName];

    [self.detailTextLabel setFont:StandardFont];
    [self.detailTextLabel setText:(!isCommonType)? animal.commonName : genusSpecies];

}

2 个答案:

答案 0 :(得分:0)

对于斜体字体,您可以使用

[UIFont fontWithName:@"Helvetica-Oblique" size:13.0]

答案 1 :(得分:0)

这个问题有点模糊,但我的感觉是你几乎掌握了一切。只需创建一个BOOL,您可以使用它来决定是否显示属种。像这样:

BOOL isGenuSpecies = (boolean expression to decide if this is a genus species)

UIFont *textLabelFont = isGenusSpecies? StandardFont : ItalicFont;
UIFont *detailTextLabelFont = isGenusSpecies? ItalicFont : StandardFont;

[self.textLabel setFont: textLabelFont];

[self.detailTextLabel setFont: detailTextLabelFont];

如果之前已定义StandardFontItalicFont,则可以使用此作品。