Iphone代码创建视图

要想以编程的方式创建视图,需要使用视图控制器中定义的viewDidLoad方法,只有在运行期间生成UI时才需要实现该方法。

在此只贴出viewDidLoad方法的代码,因为只需要在这个方法里面编写代码:

[cpp] view plain copy print ?
  1. - (void)viewDidLoad  
  2. {  
  3.     self.navigationItem.title = @"动态创建UI";  
  4.     UIView *myview = [[UIView alloc]initWithFrame:[UIScreen mainScreen].applicationFrame];  
  5.     myview.backgroundColor = [UIColor blackColor];  
  6.       
  7.     CGRect frame = CGRectMake(10, 15, 300, 20);  
  8.     UILabel *mylabel = [[UILabel alloc]initWithFrame:frame];  
  9.     mylabel.text = @"这是动态创建的label";  
  10.     mylabel.backgroundColor = [UIColor clearColor];  
  11.     mylabel.font = [UIFont fontWithName:@"Verdana" size:20];  
  12.     mylabel.textColor = [UIColor lightGrayColor];  
  13.     mylabel.textAlignment = UITextAlignmentCenter;  
  14.       
  15.     frame = CGRectMake(10, 70, 300, 50);  
  16.     //UIButton *mybutton = [[UIButton alloc]initWithFrame:frame];   
  17.     UIButton *mybutton = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
  18.     mybutton.frame = frame;  
  19.     [mybutton setTitle:@"点我" forState:UIControlStateNormal];  
  20.     mybutton.backgroundColor = [UIColor clearColor];  
  21.     [mybutton addTarget:self action:@selector(buttonclc) forControlEvents:UIControlEventTouchUpInside];  
  22.     [myview addSubview:mylabel];  
  23.     [myview addSubview:mybutton];  
  24.     self.view = myview;  
  25.     [mylabel release];  
  26.     [super viewDidLoad];  
  27.     // Do any additional setup after loading the view from its nib.   
  28. }  

解释下上面的代码:

上面代码有三段:

第一段创建的是UIView对象,它可以作为容器容纳其他视图。

第二段是创建一个Label视图。

第三段是创建一个UIButton视图。

注意,千万不要忘记将创建的视图加入第一步创建的view中,也不要忘记了将创建的view赋值给当前窗口的view:

[cpp] view plain copy print ?
  1. [myview addSubview:mylabel];  
  2.     [myview addSubview:mybutton];  
  3.     self.view = myview;  
Iphone代码创建视图_第1张图片

你可能感兴趣的:(Iphone代码创建视图)