[英]Add % sign to UITextField programmatically
我想知道如何在插入到UiTextfield中的任何數字上添加%符號,這樣用戶就可以知道它是一個百分比,類似於在Excel中設置單元格類型時$或%符號的工作方式。
我已經查看了堆棧溢出但是想知道是否還有其他方法,而不是使用觀察者附加%。
你想要的是UITextField
的rightView
屬性。 這是我編寫的一個小類,可以幫助您為文本字段設置永久前綴或后綴:
@implementation UITextField (Additions)
- (void)setPrefixText:(NSString *)prefix
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
[label setBackgroundColor:[UIColor clearColor]];
[label setFont:[UIFont fontWithName:self.font.fontName size:self.font.pointSize]];
[label setTextColor:self.textColor];
[label setAlpha:.5];
[label setText:prefix];
CGSize prefixSize = [prefix sizeWithFont:label.font];
label.frame = CGRectMake(0, 0, prefixSize.width, self.frame.size.height);
[self setLeftView:label];
[self setLeftViewMode:UITextFieldViewModeAlways];
[label release];
}
- (void)setSuffixText:(NSString *)suffix
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
[label setBackgroundColor:[UIColor clearColor]];
[label setFont:[UIFont fontWithName:self.font.fontName size:self.font.pointSize]];
[label setTextColor:self.textColor];
[label setAlpha:.5];
[label setText:suffix];
CGSize suffixSize = [suffix sizeWithFont:label.font];
label.frame = CGRectMake(0, 0, suffixSize.width, self.frame.size.height);
[self setRightView:label];
[self setRightViewMode:UITextFieldViewModeAlways];
[label release];
}
@end
順便說一下: https ://stackoverflow.com/search ? q = uitextfield + rightview:截至目前的4,099結果。
[NSString stringWithFormat:@"%d%%", number];
使用UITextFieldDelegate
的textFieldDidEndEditing:
方法。
例:
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSString *oldText = textField.text;
textField.text = [NSString stringWithFormat:@"%@ %%",oldText];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.