簡體   English   中英

以編程方式將%符號添加到UITextField

[英]Add % sign to UITextField programmatically

我想知道如何在插入到UiTextfield中的任何數字上添加%符號,這樣用戶就可以知道它是一個百分比,類似於在Excel中設置單元格類型時$或%符號的工作方式。

我已經查看了堆棧溢出但是想知道是否還有其他方法,而不是使用觀察者附加%。

你想要的是UITextFieldrightView屬性。 這是我編寫的一個小類,可以幫助您為文本字段設置永久前綴或后綴:

@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];

使用UITextFieldDelegatetextFieldDidEndEditing:方法。

例:

- (void)textFieldDidEndEditing:(UITextField *)textField {

    NSString *oldText = textField.text;

    textField.text = [NSString stringWithFormat:@"%@ %%",oldText];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM