我是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];
}
有人可以帮忙吗?
答案 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];
不需要。