Ios UITextField rightView与右对齐文本重叠

Ios UITextField rightView与右对齐文本重叠,ios,objective-c,Ios,Objective C,我有一个子类UITextField。在我的例子中,文本是右对齐的。我有rightView在末尾显示金钱符号,因此当用户输入数据时,金钱符号将始终可见。我认为这个解决方案比在每次文本更改后手动添加货币符号要好 我的问题是文本和rightView稍微重叠。我怎样才能解决这个问题 根据文本和字体大小计算宽度。使用此宽度作为最大宽度,然后排列货币符号视图 下面是计算文本最大宽度的方法 - (CGFloat) widthWithFont:(NSString *)string font:(UIFont *)

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


我的问题是文本和rightView稍微重叠。我怎样才能解决这个问题

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

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

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

10倍,有效。我只需要在宽度上加上额外的边距。我还将右视图中的文本对齐右视图中我在右视图中使用标签。@new2ios Yes使用相同的方法计算右视图标签将精确显示两个视图之间的边距。