【发布时间】:2013-02-03 21:25:32
【问题描述】:
我正在寻找有关如何在代码中创建复杂视图的教程。
例如,视图的背景图像,带有按钮的多个子视图。
有没有关于如何完成这个的教程?
【问题讨论】:
-
你试过什么?真的,没有关于如何创建“复杂视图”的教程。您要么知道如何制作视图并将子视图放入其中,要么您不知道。如果你只能做一个,你可以将它扩展到你想要的复杂程度。
标签: ios ios5 uiview uiviewcontroller
我正在寻找有关如何在代码中创建复杂视图的教程。
例如,视图的背景图像,带有按钮的多个子视图。
有没有关于如何完成这个的教程?
【问题讨论】:
标签: ios ios5 uiview uiviewcontroller
您应该阅读有关View Controller Programming Guide in iOS 以及UIView documentation 的信息。
可以通过使用
为 UIView 对象提供多个子视图- (void)addSubview:(UIView *)view
UIView 对象的方法。
【讨论】:
你可以使用 addSubview:
UIView *view =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320,200)];
UIImageView *imgV =[[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,460)];
UIButton *btn1 =[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100,75)];
imgV.image = [UIImage imageNamed:@"background.png"];
[btn1 setTitle:@"Btn" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:imgV];
[view addSubview:btn1];
[self.view addSubview:view];
这将创建一个带有背景图像和一个按钮的视图,如果您理解这个概念,那么您可以添加任意数量的对象。
【讨论】:
IBOutlet属性。此外,不需要在那里添加IBAction 方法。甚至不需要在某处添加方法声明,您只需在 @implementation 部分中定义方法即可。声明只是一种很好的风格,无论是在公共还是私人@interface