假设我有一个UILabel,文字是“Hello World”。如果我想找到'W'的CGPoint值,以便我可以在旧的'W'之上创建一个只有'W'的重复标签,我该怎么做?
答案 0 :(得分:0)
在较高级别,您可以计算文本的大小。
UILabel *label = ... // label with "Hello World"
NSDictionary *attrs = @{ NSFontAttributeName : label.font };
CGSize size = [@"Hello " sizeWithAttributes:attrs];
CGPoint newOrigin = label.frame.origin;
newOrigin.x += size.width;
此时newOrigin
应代表包含"W"
的新标签的原始需求。
使用与原始标签相同的字体和高度创建新标签。使用newOrigin
作为新标签的来源。
代码做了几个假设:
label
设置为左对齐label
的字体大小合适(不要太高,不要太短,不要太窄 - 导致字体变小)通过更多工作,可以消除这些假设。