UIViewController的View中的addSubview没有响应

时间:2011-07-28 13:15:39

标签: ios4 uiview uiviewcontroller

新手问题。我用2 IBOutlet UIButton创建了一个名为TestView的UIView。我想将此视图添加到最初启动的视图控制器。

TestView的头文件如下:

#import <UIKit/UIKit.h>

@interface TestView : UIView {
    IBOutlet UIButton *btn1;
    IBOutlet UIButton *btn2;
}

@end

我尝试通过以下方式将视图添加到屏幕:

TestView *view = [[TestView alloc] init];
[self.view addSubview:view];
[view release];

但我没有回应。如何将TestView添加到原始视图?

P.S。 TestView也作为XIB,名为TestView.xib

环境:

  • xCode 4
  • iOS 4.3.2

2 个答案:

答案 0 :(得分:2)

你必须指定框架

框架表示orgin + size

这里是orgin(0,0)

尺寸(200,200)

否则iOs不知道在哪里画这个观点

TestView *view = [[TestView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];

[view setBackgroundColor:[UIColor greenColor]]; 

[view addSubview:btn1];

[view addSubview:btn2];
//here add whatever u want

[self.view addSubview:view];

[view release];

答案 1 :(得分:0)

您不应该将其称为视图,因为您的UIView已经有一个名为view的实例变量。

您也可以使用Interface Builder创建它并将元素链接到Outlets,这将更容易