Не удалось показать текстовое поле на экране - PullRequest
0 голосов
/ 27 октября 2011

Я добавил текстовое поле в viewDidLoad, но оно не отображалось на экране.

Вот. Ч

#import <UIKit/UIKit.h>
@interface SecondViewController : UIViewController{
    UITextField *tfText;
}
@property (nonatomic, retain) UITextField *tfText;
@end

Вот. М

- (void)viewDidLoad{
    [super viewDidLoad];    

    [self.view setBackgroundColor:[UIColor lightGrayColor]];

    tfText.frame = CGRectMake(65, 100, 200, 50);
    tfText.backgroundColor = [UIColor whiteColor];    
    [tfText setTextColor:[UIColor blackColor]];
    tfText.placeholder = @"Test";
    [tfText setBorderStyle:UITextBorderStyleNone];
    [self.view addSubview:tfText]; 
}

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

кажется, что вам нужно инициализировать объект ... Я имею в виду

UITextField *newTextField = [[UITextField alloc] init];
self.tfText = newTextField;
//....
//all your code here
//....
[newTextField release];

И не забудьте освободить ваш экземпляр методом dealloc.

0 голосов
/ 27 октября 2011
    UITextField entered2 = [[UITextField alloc] initWithFrame:CGRectMake(120.0, 125.0, 150.0, 25.0)]; 
[entered2 setBackgroundColor:[UIColor whiteColor]]; 
entered2.text=@"Active";    
[self.view addSubview:entered2];
[entered2 release];
0 голосов
/ 27 октября 2011

D33pN16h7 правильно, вам нужно создать экземпляр вашего объекта. Однако я бы сделал это немного иначе, чем описано выше, нет причин создавать экземпляр UITextField, а затем устанавливать его на него.

self.tfText = [[UITextField alloc] init];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...