UiTextfield に挿入された数値に % 記号を追加する方法を知りたいので、Excel でセル タイプを設定するときに $ または % 記号が機能するのと同様のパーセンテージであることをユーザーが認識することができます。
私はスタックオーバーフロー全体を見てきましたが、オブザーバーを使用して % を追加する以外の方法があるかどうか疑問に思っていました.
UiTextfield に挿入された数値に % 記号を追加する方法を知りたいので、Excel でセル タイプを設定するときに $ または % 記号が機能するのと同様のパーセンテージであることをユーザーが認識することができます。
私はスタックオーバーフロー全体を見てきましたが、オブザーバーを使用して % を追加する以外の方法があるかどうか疑問に思っていました.
必要なのはのrightView
プロパティですUITextField
。これが私が書いた小さなカテゴリで、テキストフィールドに永続的なプレフィックスまたはサフィックスを設定するのに役立ちます。
@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];