按下按钮时显示子视图。 (按下操作系统Windows“开始”按钮时出现的视图

时间:2011-09-07 05:43:39

标签: iphone subview

我想显示一个子视图,当按下UI按钮时,该子视图将包含菜单列表。我应该使用垂直SegmentControl吗?
感谢您提前提供任何帮助

5 个答案:

答案 0 :(得分:3)

您不必使用垂直TabbarViewController。

首先,转到界面构建器并拖动一个Button,将Button连接到您在.m文件中声明的操作方法

让我们说方法是

- (IBAction) btnHandler :(id)sender {
}

然后声明一个新视图并将其添加到主视图中 所以btnhandler方法看起来像这样

- (IBAction) btnHandler :(id)sender {
     UIView *subview = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 300)];
     //here add what ever you want to the new created view using the
     //[subview addSubview:(your Componant)];
     [self.view addSubview:subview];
}

如果我犯了错误,请原谅我,这不是经过测试的代码。我现在在浏览器中写它。

答案 1 :(得分:1)

如果是iPad应用程序,可以考虑调用UIPopOverController

答案 2 :(得分:1)

如果您的目标是本机iOS外观,则可以使用操作表。

同意之前的回答,如果这是一个iPad应用程序,弹出窗口是一个很好的选择。

您可以使用自己的viewController进行完全自定义,您可以根据需要从顶部或底部设置动画。

答案 3 :(得分:0)

选项1: 在你的笔尖设计视图。

选项2: 有一个单独的视图控制器

按UIButton

时,可以使用addSubView方法添加视图

答案 4 :(得分:0)

Try below code that will help you.

- (void)viewDidLoad {
     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
    [button setTitle:@"Show View" forState:UIControlStateNormal];
    button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
    [self.view addSubview:button];

    [super viewDidLoad];

}

-(IBAction)buttonPressed:(id)sender
{
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 200, 300, 100)];
    view.backgroundColor = [UIColor clearColor];
    view.backgroundColor = [UIColor grayColor];
    [self.view addSubview:view];
}