无法在屏幕上显示文本字段

时间:2011-10-27 03:05:34

标签: iphone objective-c uitextfield

我在viewDidLoad中添加了一个文本字段,但它没有显示在屏幕上。

这是.h

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

这是.m

- (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 个答案:

答案 0 :(得分:3)

似乎你需要初始化对象......我的意思是

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

并且不要忘记在dealloc方法上发布你的实例。

答案 1 :(得分:0)

D33pN16h7是正确的,您需要实例化您的对象。但是我会做的与上面描述的有点不同,没有理由创建一个UITextField实例,然后将实例设置为它。

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

答案 2 :(得分:0)

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