如何在UINavigationBar下添加UISegmentedControl?

时间:2012-04-02 05:05:03

标签: ios xcode uitableview uinavigationbar uisegmentedcontrol

我在网上搜索过,但仍然不知道如何做到这一点。

基本上我想在导航栏下方放置一个带有3个按钮的段控制栏。当用户单击段控件中的按钮时,它将循环通过表视图,日历和网格视图。

我想用三个视图控制器类来分隔这三个视图。

我已经编写了UITableViewController类,它可以在没有段控制栏的情况下正常显示。但我仍然无法弄清楚如何在导航栏下面添加段控制栏。

我已经阅读了一些教程,比如 http://redartisan.com/2010/6/27/uisegmented-control-view-switching-revisited

然而,在这种情况下,段控件放在导航栏内但不在下面。

任何人都可以帮助我吗?感谢

2 个答案:

答案 0 :(得分:3)

因此,您希望分段控件位于导航栏下方,但是在表视图控制器上方(并且与其分开)?如果是这种情况,我建议请参阅Brian Palma的评论。在界面构建器中设置视图,您可以在其中添加表视图,然后调整其大小以为分段控件留出空间。然后添加分段控件并连接您的IBOutlets。你应该得到这样的东西:

enter image description here

您也可以通过编程方式完成所有这些操作,但界面构建器会更快。

答案 1 :(得分:1)

请尝试以下代码:

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"Male", @"Female", nil]];
    segmentedControl.frame = CGRectMake(50, 0, 220, 100);
    [segmentedControl addTarget:self action:@selector(segmentedControlHasChangedValue:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segmentedControl];

希望有所帮助