2013-01-14 35 views
1

我想实现自定义文本字段。这里是什么,我想实现一个截图:
如何更改UITextField的形状?

enter image description here

所以我有细胞UITableView,并在每个小区我有几个文本字段:一个用于date,一为name,一个用于theme,另一个用于text。但是UI需要themetext彼此相邻(如您在图片中看到的那样)。我想实现这个作为一个单一UITextField,但据我所知,UITextField只支持一种字体。因此,也许有人会给我一个建议,如何实现截图中显示的设计 - 我必须绘制自定义文本字段,还是有更简单的解决方案?任何代码示例或命题都会有所帮助。

+0

,就能让您只能用这种方法在一定范围内的字符串添加属性您将主题文本字段放在主文本的顶部,以便它们都占据相同的观看矩形?如果是这样,那么您可能可以即时计算主题实际占用第一行的空间大小,并以编程方式向文本字段添加空格。 –

+1

检查了这一点http://stackoverflow.com/questions/3586871/bold-non-bold-text-in-a-single-uilabel – alex

+0

你想只显示这个文本或它应该是可编辑的?从你的截图看,它看起来不像是应该可编辑的。然后你不需要'UITextField',每个部分只需要一个'UILabel'。 – Sven

回答

1

对于iOS 6

您可以设置一个UITextField的属性串:

@property(nonatomic,copy) NSAttributedString *attributedText; 

我建议使用NSMutableAttributedString并利用多态性。

可变属性字符串可以为每个字符串保存不同的属性。

- (void)setAttributes:(NSDictionary *)attributes range:(NSRange)aRange; 

对于iOS 5

直接使用此UITextField的属性:

- (void)setAttributes:(NSDictionary *)attributes range:(NSRange)aRange; 
+2

请注意,“JavasText”仅适用于iOS 6。 – benzado

+0

我为iOS 5添加了一个可能的解决方案。 –