无法创建UIButton

时间:2011-11-28 13:49:04

标签: iphone uibutton

我正在尝试以编程方式创建按钮并使其可见。这就是我的所作所为:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.view bringSubviewToFront:button]; 

没什么。它不可见。我做错了什么?

7 个答案:

答案 0 :(得分:1)

您需要将按钮添加到视图中。

[self.view addSubview:button];

答案 1 :(得分:1)

执行此操作时:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

您正在创建一个尺寸为100x100的按钮,但尚未将其添加到视图中。然后当你这样做时:

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

你正在制作一个大小为0x0的 new 按钮,但仍未将其添加到视图中;第一个按钮将永远存在于记忆中。然后当你这样做时:

[self.view bringSubviewToFront:button]; 

你告诉视图将新按钮带到视图的前面 - 但它还没有出现在屏幕上。你真正想做的是:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 100, 100, 100);
[self.view addSubview:button];

创建一个按钮,设置其框架,然后将其添加到视图中。

答案 2 :(得分:0)

您应该使用[self.view addSubview:button];代替 - 这会有所帮助。此外,您要分配*button两次,因此第一个(带框架的那个)将被忽略。

答案 3 :(得分:0)

添加

 [self.view addSubview: button];

在你的第二行之后。

此外,您正在创建2个按钮 - 前两行都会创建一个按钮。选一个!

答案 4 :(得分:0)

您永远不会将按钮附加到主视图。我的猜测是bringSubviewToFront:addSubview混淆。

[self.view addSubview:button];

答案 5 :(得分:0)

有一些问题。首先,您创建两个按钮。您在第一行创建一个,然后在第二行创建另一个。此外,您需要将按钮添加到视图中:

[self.view addSubview:button];

答案 6 :(得分:0)

使用

添加按钮
[self.view addsubview:button];