【问题标题】:Toolbar item not showing工具栏项目未显示
【发布时间】:2011-08-04 10:29:46
【问题描述】:

不知道我做错了什么。我没有笔尖,所以我在 loadView 中制作所有内容。工具栏会显示,但 segmentedControl 不会。

- (void)loadView
{ 
    // Toolbar
    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 90)];
    [toolbar setTintColor:[UIColor lightGrayColor]];

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(10, 10, 200, 30)];
    [segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];

    UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl] autorelease];

    NSArray *toolbarItems = [NSArray arrayWithObjects:item, nil];

    [toolbar setItems:toolbarItems animated:NO];
    [self.view addSubview:toolbar];
}

【问题讨论】:

    标签: iphone toolbar


    【解决方案1】:

    用下面的代码代替你的代码;这将帮助您将分段控制添加到您的工具栏:

    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 90)];
    [toolbar setTintColor:[UIColor lightGrayColor]];
    
    CGRect frame;
    
    frame.origin.x = 10;
    frame.origin.y = 10;
    frame.size.width = 200;
    frame.size.height = 30;
    
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Hello",@"Hi", nil]];
    
    [segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];
    
    segmentedControl.tintColor = [UIColor blackColor];
    
    segmentedControl.frame = frame;
    
    [toolbar addSubview:segmentedControl];
    
    [self.view addSubview:toolbar];
    

    【讨论】:

    • 谢谢。有效!我以为您必须在工具栏上使用 setItems:animated 。 setItems:animated 有什么意义,因为这段代码没有使用它?
    【解决方案2】:

    您必须像使用工具栏一样将其添加为视图的subview。即:

    [self.view addSubview:segmentedControl];

    它应该可以工作。

    干杯

    【讨论】:

      猜你喜欢
      • 2016-08-28
      • 2014-12-26
      • 2018-01-27
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2016-05-28
      • 2012-03-05
      • 1970-01-01
      相关资源
      最近更新 更多