-1

私はiOSxcodeを初めて使用します。nibファイルやストーリーボードを使用せずにテキストフィールドを作成したい。私は答えを探しましたが、どこでもその種の混乱を招いたり、nibファイルを使用したりしました。私はボタンを作成し、それはうまく機能していますが、テキストフィールドでは問題に直面しています。これが私のviewcontroller.m助けてください。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)loadView {


self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view.backgroundColor = [UIColor purpleColor];


UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UITextField *textfield;


button.frame = CGRectMake(10 ,350 , 300, 40);
button1.frame = CGRectMake(10 ,50 , 300, 40);
textfield.frame = CGRectMake(10, 100, 200, 30);


[button setTitle:@"Change screen to green!" forState:UIControlStateNormal];
[button1 setTitle:@"click screen to red!" forState:UIControlStateNormal];

[button addTarget:self action:@selector(buttonPressed)     forControlEvents:UIControlEventTouchUpInside];
[button1 addTarget:self action:@selector(buttonPressed1) forControlEvents:UIControlEventTouchUpInside];


[self.view addSubview:button];
[self.view addSubview:button1];
[self.view addSubview:textfield];
}
-(void)buttonPressed {
self.view.backgroundColor = [UIColor greenColor];

}
-(void)buttonPressed1 {
self.view.backgroundColor = [UIColor redColor];

}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end

ありがとうございます。それでは、お元気で

4

5 に答える 5

1

UITextField割り当てるのではなく、宣言しただけです。最初に割り当ててから、設定frameして追加する必要がありますview-

UITextField *txt = [[UITextField alloc] init];
txt.frame = CGRectMake(10, 100, 200, 30);
txt.delegate = self;
[self.view adsubview:txt];

それはあなたの問題を解決します。

于 2013-01-11T05:15:13.463 に答える
1

初めての使用

UITextField *textfield = [[UITextField alloc] init];

それ以外の

UITextField *textfield;

次に、背景色がデフォルトでclearColorになるため、テキストフィールドの背景色を設定します。

textfield.backgroundColor   =   [UIColor whiteColor];

または使用する

textfield.borderStyle = UITextBorderStyleRoundedRect;

白い色の境界線付きテキストフィールドを取得します。

于 2013-01-11T06:31:46.013 に答える
0

これを使って:

UITextField *textfield = [[UITextField alloc] init];

のはめ込み

UITextField *textfield;

UITextField *textfield;オブジェクトではなく、オブジェクト参照を作成するだけです。

于 2013-01-11T05:12:26.570 に答える
0

回答が示唆しているようにallocinitを追加した場合、テキストフィールドは実際には画面上にありますが、境界線やテキストがないため、表示されません。この行を追加してみてください。そうすると、次のように表示されます。

textfield.borderStyle = UITextBorderStyleRoundedRect;
于 2013-01-11T06:11:54.307 に答える
0
UITextField *textfield =[[UITextField alloc] init];
 textfield.frame = CGRectMake(10, 100, 200, 30); 
textfield.delegate = self; [self.view addSubview:textfield];
[self.view bringSubViewToFront:textfield];

問題を解決するかもしれません

于 2013-01-11T06:49:15.650 に答える