【问题标题】:UIBarButtonItem not appearing after I successfully add it to navigationitemUIBarButtonItem 成功添加到导航项后没有出现
【发布时间】:2013-10-09 01:58:49
【问题描述】:

这个任务看起来很简单。您可以从下面的日志中看到,我检查了它是否设置成功并且是。那么知道为什么当导航控制器推送到这个视图时它没有出现吗?是不是跟navigationItem和[navigationBar items]的区别有关系?

    NSLog(@"Nav bar's item is: %@", [[[[[self navigationController] navigationBar] items] objectAtIndex:0] description]);
    NSLog(@"The navigationItem's Right bar button is: %@", [[[self navigationItem] rightBarButtonItem] description]);

    //create bar button item with segmented control as custom view
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"One", @"Two", nil]];
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
    NSLog(@"Created bar button item: %@", barButtonItem);
    NSLog(@"Bar button item's view is: %@", [barButtonItem customView]);

    //add segmented control bar button item to navigation bar

    [[self navigationItem] setRightBarButtonItem:barButtonItem];
    NSLog(@"Added bar button item, %@, to nav item %@", barButtonItem, [self navigationItem]);
    NSLog(@"Now Nav bar's item is: %@", [[[[[self navigationController] navigationBar] items] objectAtIndex:0] description]);
    NSLog(@"Now the navigationItem's Right bar button is: %@", [[[self navigationItem] rightBarButtonItem] description]);

日志

     Nav bar's item is: <UINavigationItem: 0x7586a60>
     The navigationItem's Right bar button is: (null)
     Created bar button item: <UIBarButtonItem: 0x90a2180>
     Bar button item's view is: <UISegmentedControl: 0x90a11e0; frame = (0 0; 101 44); opaque = NO; layer = <CALayer: 0x90a1150>>
     Added bar button item, <UIBarButtonItem: 0x90a2180>, to nav item <UINavigationItem: 0x909c5a0>
     Now Nav bar's item is: <UINavigationItem: 0x7586a60>
     Now the navigationItem's Right bar button is: <UIBarButtonItem: 0x90a2180>

但导航栏中除了默认的后退按钮外什么都没有显示。

非常感谢您的帮助,

【问题讨论】:

    标签: ios uinavigationcontroller uinavigationbar uibarbuttonitem uinavigationitem


    【解决方案1】:

    您是否将 NavigationItem 设置为 NavigationBar? 看起来你还没有在你的代码 sn-p 中完成它。

    正如您在创建 Navigationitem 之前的日志中所说:

    Nav bar's item is: <UINavigationItem: 0x7586a60>
    

    之后,还是一样:

    Now Nav bar's item is: <UINavigationItem: 0x7586a60>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多