我从带有生成代理的odata频道中捕获一些数据 (生成器来自http://www.odata.org/)
服务:
... <d:prop1>test1</d:prop1> <d:prop2>test2</d:prop2> </m:properties> </content>
EDM.string和nullable
的所有属性
生成的对象就像那样(所有NSString):
myData.prop1 myData.prop2
我有一个带有静态单元格的表格视图,“左侧细节”样式和一个用于细节标签的IBoutlet。
@property(弱,非原子)IBOutlet UILabel detailLabel;
NSLog打印所有属性值都正确。但是如果我想将它们添加到detailLabel中,则一些值始终显示为第一个字符和三个点(v ...)。该行为取决于属性,而不取决于字符串长度或detailLabel。
self.detailLabel.text = myData.prop1;
如果我将一个字符串附加到属性字符串中,其中包含3个字符的ist锁定,例如vvvv ...,但这些点永远不会消失。
String formater和[self.detailLabel setNeedsLayout]不解决这个问题。
有什么建议吗?
答案 0 :(得分:0)
编辑:
省略号。
每当你的文字比UITextFiled更精细时,它就会显示出来。喜欢:
Hi AnoopVa...
代替Hi AnoopVaidya
。
上一个回答:
您必须附加包含...
的字符串或者你可以截断字符串中的最后三个字符,如果它真的不需要并且让你讨厌。
答案 1 :(得分:0)
你看到的是自动字符串截断,你的文本字符串中实际上没有3个点。该字符串比标签在可用空间上的长度要长。
如果您不想查看/显示它们,请调整UILabel宽度,字体大小和lineBreakModel。选择是:
enum {
NSLineBreakByWordWrapping = 0,
NSLineBreakByCharWrapping,
NSLineBreakByClipping,
NSLineBreakByTruncatingHead,
NSLineBreakByTruncatingTail,
NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode
对于iOS5及更早版本,请检查UILineBreakMode documentation,对于iOS6及更高版本,请检查NSLineBreakMode documentation。