663830という質問で、Isaacはテキストフィールドにボタンを追加するように頼みます。誰かが.rightViewプロパティにラベルを追加するコードを表示できますか?UITextFieldにラベルを追加
または、テキストフィールドに「永久」テキストを含めるより良い方法がありますか?
これは、テキストフィールドの外にラベルを保持することなく、フィールド内の単位(mg、kgなど)を含む計算機用です。一貫したプレースホルダーテキストのような並べ替え?
おかげで、 クリス
663830という質問で、Isaacはテキストフィールドにボタンを追加するように頼みます。誰かが.rightViewプロパティにラベルを追加するコードを表示できますか?UITextFieldにラベルを追加
または、テキストフィールドに「永久」テキストを含めるより良い方法がありますか?
これは、テキストフィールドの外にラベルを保持することなく、フィールド内の単位(mg、kgなど)を含む計算機用です。一貫したプレースホルダーテキストのような並べ替え?
おかげで、 クリス
迅速かつ汚いコード:私はViewControllerをからサブビューを追加している
- (void)viewDidLoad {
[super viewDidLoad];
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 40)];
textField.borderStyle = UITextBorderStyleLine;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
label.text = @"mg";
label.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.0];
textField.rightViewMode = UITextFieldViewModeAlways;
textField.rightView = label;
[self.view addSubview:textField];
[label release];
[textField release];
}
注意、あなたは同様のビューからそれを行うことができます。
UITextFieldのleftView(またはrightView)プロパティは、これにお金がかかります。テキストフィールドに「永久」テキストを作成するのは非常に簡単です。
- (void)loadView
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
label.text = @"To:";
label.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.0];
self.UITextField.leftViewMode = UITextFieldViewModeAlways;
self.UITextField.leftView = label;
}
私はパーティーのために少し遅れるかもしれません知っているが、私は、これは同じような状況に直面し、将来のプログラマを助けることができると確信しています。
のUITextField + PaddingLabel.h
#import <UIKit/UIKit.h>
@interface UITextField (PaddingLabel)
-(void) setLeftPaddingText:(NSString*) paddingValue width:(CGFloat) width;
-(void) setRightPaddingText:(NSString*) paddingValue width:(CGFloat) width;
@end
のUITextField + PaddingLabel.m
:あなたはそれが簡単に、このように複数のアプリケーションで使用できるようにすること、カテゴリを作成したいかもしれません
#import "UITextField+PaddingLabel.h"
@implementation UITextField (PaddingLabel)
-(void) setLeftPaddingText:(NSString*) paddingValue width:(CGFloat) width
{
UILabel *paddingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, self.frame.size.height)];
paddingLabel.text = paddingValue;
self.leftView = paddingLabel;
self.leftViewMode = UITextFieldViewModeAlways;
}
-(void) setRightPaddingText:(NSString*) paddingValue width:(CGFloat) width
{
UILabel *paddingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, self.frame.size.height)];
paddingLabel.text = paddingValue;
self.rightView = paddingLabel;
self.rightViewMode = UITextFieldViewModeAlways;
}
@end
使用例:
[self.dateTextField setLeftPaddingText:@"DATE:" width:defaultWidth];
なぜ汚れコードですか? – Johannes
@ Johannesは、矩形、色などのハードコーディングされた値をたくさん持っています....また、私はビューコントローラでそれをやるとは思えません。 – pgb