2014-10-30 63 views
0

我有一個UITextField的子類。在我的例子中,文本是正確的對齊。我有rightView最後顯示貨幣符號,所以當用戶輸入數據時,貨幣符號將始終可見。我決定這個解決方案比在每次文本更改後手動添加文本和手動添加貨幣符號要好。UITextField rightView重疊右對齊文本

我的問題是,文本和rightView略有重疊。我該如何解決這個問題?

回答

1

根據文本和字體大小計算寬度。使用此寬度作爲最大寬度並且安排貨幣符號視圖。

以下是計算文本最大寬度的方法。

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

10倍,它的工作原理。我只需要在寬度上添加額外的邊距。我也對齊右側視圖中的文本(我在右側視圖中使用標籤)。 – new2ios 2014-10-30 13:50:53

+1

@ new2ios是使用相同的方法來計算正確的視圖標籤將在兩個視圖之間準確的邊距。 – Kampai 2014-11-01 04:54:09