2011-11-28 78 views
0

我试图以编程方式创建按钮并使其可见。这就是我所做的:无法创建UIButton

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

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

回答

1

当你这样做:

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

你创建大小为100×100的按钮,但尚未将其添加到视图。然后,当你这样做:

button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

你正在做一个新按钮,尺寸为0x0,仍然没有将它添加到视图。第一个按钮将永远留在内存中。然后,当你这样做:

[self.view bringSubviewToFront:button]; 

你告诉视图带来了新的按钮,在视图的前 - 但它尚未在屏幕上。你真正想做的事是这样的:

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

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

0

您应该使用[self.view addSubview:button];而不是 - 它会有所帮助。此外,你分配*button两次,所以第一个(与框架的一个)将被忽略。

1

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

[self.view addSubview:button]; 
0

你的第二个行之后添加

[self.view addSubview: button]; 

此外,你正在创建2个按钮 - 你的前两行创建一个按钮。选一个!

0

你永远不会将按钮附加到主视图。我的猜测是你很困惑bringSubviewToFront:addSubview

[self.view addSubview:button]; 
0

有几件事情是错误的。首先,你创建两个按钮。您正在第一行创建一个,然后在第二行创建另一个。此外,您还需要将按钮添加到您的视图:

[self.view addSubview:button]; 
0

添加使用

[self.view addsubview:button]; 
按钮