iOS BarButtonItem的处理例子:【 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界/titleView 的间距】 及常见问题的解决方案

前言

例子

  • 经过尝试,发现titleview的起点位置和尺寸依赖于leftBarButtonItem和rightBarButtonItem的位置。

  • 设置titleview之前,先初始化leftBarButtonItem和rightBarButtonItem的位置,然后根据leftBarButtonItem和rightBarButtonItem的位置来使titleview居中。

常见问题

  • BarButtonItem 隐藏失效
  • iOS13.5.1 版本无法点击导航条右侧按钮

I、例子

与屏幕边界 或者与titleView 的间距 只要分别调整rightBarButtonItems 数组元素的顺序。

主要利用UIBarButtonItem 的UIBarButtonSystemItemFixedSpace 系统控件

 UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
                                       initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                                       target:nil action:nil];
    /**
     *  width为负数时,相当于btn向右移动width数值个像素,由于按钮本身和边界间距为5pix,所以width设为-5时,间距正好调整
     *  为0;width为正数时,正好相反,相当于往左移动width数值个像素
     */
    negativeSpacer.width = 10;

1.1

你可能感兴趣的:(iOS,进阶,iOS开发基础)