将故事板元素链接到代码

时间:2011-11-23 19:40:03

标签: objective-c storyboard

在我的故事板中的一个场景中,我放了一个按钮。它在视图上显示正常。

视图本身由类GameView表示,其中包含

IBOutlet UIButton *b;

@property (strong) IBOutlet UIButton *b;

我已从故事板的视图中将插座连接到按钮。

来自.m类的GameView文件,i:

[[self b] setFrame:CGRectMake(420, 260, 50, 30)];
[b setTitle:@"!!!" forState:UIControlStateNormal];
[self addSubview:[self b]];

以编程方式创建按钮时,以下工作正常

deal =  [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
[deal setFrame:CGRectMake(420,170, 50, 30)];
[deal setTitle:@"Deal" forState:UIControlStateNormal];

[self addSubview:[self deal]];

但是,当程序运行时,不会看到故事板中的按钮。为什么呢?

1 个答案:

答案 0 :(得分:1)

我是史诗般的新手。发布答案希望其他人可能会发现它有用。

基本上,就我而言,视图是从控制器以编程方式创建的,无论在故事板的屏幕上看到什么,都会在对象创建时被有效替换。

UIView *gameView = [[GameView alloc] initWithFrame:CGRectMake(0, 0, 480, 300)];
[[self view] addSubview:gameView];

我将IBOutlets加入Controller并添加

[bb setFrame:CGRectMake(420, 260, 50, 30)];
[bb setTitle:@"---" forState:UIControlStateNormal];
[gameView addSubview:[self bb]];

它就像一个魅力。