iOS:如何在viewDidLoad之后添加更多视图

时间:2012-09-12 06:15:54

标签: ios xcode uiviewcontroller

我是IOS编程的新手。我从XCode 4.3(SingleView应用程序)创建的基本应用程序开始。 继续我上面的问题,我能够将视图programmaticaly添加到Appdelegate中的主ViewController但是如果我想在视图加载后执行相同的操作(在viewDidLoad中),我就遇到了麻烦。我尝试使用添加子视图的相同逻辑,但我不确定在“viewDidLoad”内添加视图后是否需要刷新

我的观点非常简单,这是代码

-(void)viewDidLoad
{

[super viewDidLoad];
UIBUtton *btn = [UIBUtton] alloc] initWithFrame:CGRect(10,10,50,50)];
[self.view addSubView:btn];
[self.view setNeedsDsiplay];
}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您没有正确实例化UIButton。您应该使用buttonWithType:方法。

例如:

- (void)viewDidLoad {

[super viewDidLoad];

UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[btn setFrame:CGRectMake(10.0, 10.0, 50.0, 50.0)];

[[self view] addSubview:btn];

}

答案 1 :(得分:-1)

您已将方括号放在错误的位置。可能你是Objective-C的新手。在创建基于UI的应用程序之前,您应该更加注意学习语法。

UIBUtton *btn = [UIBUtton] alloc] initWithFrame:CGRect(10,10,50,50)];

应该是:

UIBUtton *btn = [[UIBUtton alloc] initWithFrame:CGRect(10,10,50,50)];

另外

[self.view setNeedsDsiplay];

不需要。