iOS14 长按返回按钮 backButtonDisplayMode

iOS 14中长按返回按钮会显示多级菜单,滑动后可以返回对应的页面。


navigation stack.gif

在App上长按后title为空


空白.png

backButtonDisplayMode

iOS 14新增了一个属性backButtonDisplayMode来定义title的来源

typedef NS_ENUM(NSInteger, UINavigationItemBackButtonDisplayMode) {
    /// Default mode, uses an appropriate title, followed by a generic title (typically 'Back'), then no title.
    UINavigationItemBackButtonDisplayModeDefault = 0,
    /// Generic titles only. Ignores .title and .backButtonTitle (but *not* .backBarButtonItem.title).
    UINavigationItemBackButtonDisplayModeGeneric = 1,
    /// Don't use a title, just the back button indicator image.
    UINavigationItemBackButtonDisplayModeMinimal = 2,
} NS_SWIFT_NAME(UINavigationItem.BackButtonDisplayMode);

title来源的优先级
1.navigationItem.backBarButtonItem
2.navigationItem.backButtonTitle
3.navigationItem.title和viewController的title,同时设置显示为viewController的title

App中使用

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = item;

来隐藏返回按钮的标题,引起了上面的问题。

UINavigationItemBackButtonDisplayModeMinimal

Minimal模式下,返回按钮不显示title,但是 navigation stack可以显示出 title,未设置title的时候显示返回。

适配

    if (@available(iOS 14.0, *)) {
        self.navigationItem.backButtonDisplayMode = UINavigationItemBackButtonDisplayModeMinimal;
    } else {
        UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
        self.navigationItem.backBarButtonItem = item;
    }
适配.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:弱者为什么执拗? 大三下在学swift的时候,给一款APP建过言,说他的APP返回按钮在按钮形状下是一团...
    iCoreMan阅读 1,622评论 4 3
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,599评论 2 4
  • 一、NavigationBar UIBarItem UIBarItem在iOS11在中新增landscapeIma...
    灰s阅读 3,857评论 5 11
  • 一、侧滑返回 侧滑返回手势是从iOS7开始增加的一个返回操作,经历了两年时间估计iPhone用户大部分都已经忽略了...
    Yealink阅读 1,275评论 0 0
  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,547评论 2 50