是否可以在UITableViewCell的cell.detailTextLabel中使用占位符

时间:2012-07-25 02:53:07

标签: iphone xcode uitableview

按占位符我的意思是如果你有文本字段会得到什么......

 UITextField *myTextField;
 myTextField.placeholder = @"Enter your name";

我认为detailTextLabel是一个textLabel没有占位符属性,所以我猜测答案是否定的。我必须使用带有UITextField的自定义单元格。

感谢您的任何建议。

约翰

3 个答案:

答案 0 :(得分:2)

UITextField的占位符是当字段为空且用户未编辑时显示的文字。

详细文字标签为UILabelUILabel不支持用户编辑,因此没有理由拥有placeholder属性。您可以将其文本颜色设置为灰色,如Patrick S.建议的那样,如果您希望它看起来像占位符文本。

但是,如果您想要可编辑的详细文字,则需要将自己的UITextField添加到单元格contentView并使用该文本字段而不是 { {1}}。然后,您可以设置文本字段的detailTextLabel属性。

答案 1 :(得分:0)

我认为你最好的选择可能是:

if([UItextView.text length] == 0)
   {
       UItextView.text = @"placeholder";
       UItextView.textColor = [UIColor lightGrayColor];
       UItextView.tag = 0;
   }

具有相同的目的。

答案 2 :(得分:0)

更改文本字段中的占位符文字字体

创建UITextField的子类并覆盖drawPlaceholderInRect:

- (void) drawPlaceholderInRect:(CGRect)rect {
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16.0]];
}