导航栏中的 Barbutton 项目左栏按钮粘在左上角

Posted

技术标签:

【中文标题】导航栏中的 Barbutton 项目左栏按钮粘在左上角【英文标题】:Barbutton item in navigtion bar leftbar button got stick to the top left conrner 【发布时间】:2013-10-22 05:32:33 【问题描述】:

bar button 的 y 原点为 0 到导航栏,x 为 0。但我想为 barbutton 项添加一些 y 位置。

 UIBarButtonItem *barbutton;

            barbutton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(onbackbtnpressed:)];
            [barbutton setWidth:30];
            [barbutton setTintColor:KANEKA_BLUE_COLOR];
            [barbutton setAccessibilityFrame:CGRectMake(10, 10, 30, 20)];
            self.navigationItem.leftBarButtonItem = barbutton;

请告诉我如何设置 barbutton 框架或如何设置 bar button y 位置。

【问题讨论】:

【参考方案1】:

实际上我已经设法以稍微不同的方式设置 y 原点,这可能是一个很大的过程,但它非常好。

我在 viewcontroller 中添加了一个工具栏,并设置了 bar 按钮项并隐藏了导航栏。它适用于所有 popover 控制器。

self.toolbar.hidden = NO;
        self.contentSizeForViewInPopover = CGSizeMake(self.view.frame.size.width-100,self.view.frame.size.height-100);
        self.navigationController.navigationBarHidden = YES;
        [self.toolbar setTintColor:KANEKA_BLUE_COLOR];
        [self.backbutton setTintColor:KANEKA_BLUE_COLOR];

【讨论】:

【参考方案2】:

我对这个问题的看法 - 根据 ios 人机界面指南,不建议为导航栏上的栏按钮项目添加 y 间距。

我们可以通过为导航项设置一组按钮来更新x定位,如下所示:

  UIBarButtonItem *fixedSpaceBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
  [fixedSpaceBarButton setWidth:10];

  UIBarButtonItem *barbutton;

  barbutton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(onbackbtnpressed:)];
  [barbutton setWidth:30];
  [barbutton setTintColor:[UIColor redColor]];
  [barbutton setAccessibilityFrame:CGRectMake(10, 10, 30, 20)];

  self.navigationItem.leftBarButtonItems = [NSArray
                                            arrayWithObjects:fixedSpaceBarButton, barbutton, nil];

【讨论】:

以上是关于导航栏中的 Barbutton 项目左栏按钮粘在左上角的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11 在 leftBarButtonItem 旁边的导航栏中显示 searchBar

导航栏标题视图与左栏按钮项重叠

无法单击左栏中的任何图标

在 ios 中为 UINavigationitem(左栏按钮项)设置图像

如何更改菜单栏中的 Xamarin 后退按钮?

添加两个右侧栏按钮项目到导航栏