如何将UISegmentedControl集中在UIPopoverController顶部的工具栏中

时间:2011-08-01 18:36:45

标签: iphone uinavigationcontroller uipopovercontroller uibarbuttonitem uitoolbar

我已经看到了一些不同的帖子,但我似乎无法让它发挥作用。我基本上有一个UITableView,并希望在弹出控制器的顶部排序按钮。我关注这篇文章:UIPopoverController toolbar at top以便开始。在我的控制器中,它是navigationController的rootViewController,我可以创建一个UISegmentControl并将它放在顶部。但是,它看起来并不像图片,因为它没有居中。也许是因为我进入popover的方式是在popover的viewDidLoad中这样:

   UISegmentedControl *topSegmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", nil]];
    topSegmentControl.backgroundColor = [UIColor clearColor];
    topSegmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
    UIBarButtonItem *toolBarCustom = [[UIBarButtonItem alloc] initWithCustomView:topSegmentControl];
//    UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    self.navigationItem.leftBarButtonItem = toolBarCustom;

另外,如果我想在工具栏中的popovercontroller底部显示数据,我不知道该怎么做。按照相同的例子:UIPopoverController toolbar at top,我想在我的navigationController中,我会做这样的事情:

 UISegmentedControl *topSegmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"BottomOne", @"BottomTwo", @"BottomThree", nil]];
//    topSegmentControl.backgroundColor = [UIColor clearColor];
    topSegmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
    UIBarButtonItem *toolBarCustom = [[UIBarButtonItem alloc] initWithCustomView:topSegmentControl];
    UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    NSArray *array = [NSArray arrayWithObjects:spaceItem, toolBarCustom, spaceItem, nil];
    [navController setToolbarItems:toolBarCustom];
    [navController setToolbarHidden:NO];

当我尝试这个时,我看到一个没有任何东西的工具栏,这比其他弹片更轻。

总而言之,我不确定您在哪里为具有示例中的navigationcontroller的弹出窗口初始化工具栏或barbuttonitems。我也不确定如何集中数据。感谢。

1 个答案:

答案 0 :(得分:2)

您可能最适合将UISegmentedControl设置为根视图控制器titleView的{​​{1}}。