UITextField rightView重叠右对齐文本

时间:2014-10-30 12:54:57

标签: ios objective-c

我有一个UITextField的子类。在我的实例中,文本是正确对齐的。我有rightView在最后显示货币符号,因此当用户输入数据时,货币符号将始终可见。我决定这个解决方案比在每次文本更改后手动添加文本和手动添加钱币更好。

我的问题是文本与rightView略有重叠。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

根据文字和字体大小计算宽度。使用此宽度作为最大宽度,然后安排货币符号视图。

下面是计算文本最大宽度的方法。

- (CGFloat) widthWithFont:(NSString *)string font:(UIFont *)font {
    NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil];
    return [[[NSAttributedString alloc] initWithString:string attributes:attributes] size].width;
}