首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS - UIBarButtonItem - 后退按钮标题垂直位置未调整

问题:iOS - UIBarButtonItem - 后退按钮标题垂直位置未调整

答案

在 iOS 中,UIBarButtonItem 是用来为导航栏创建自定义按钮的。如果需要调整后退按钮(Back Button)的标题垂直位置,请使用以下方法:

  1. 首先,在项目的 Main.storyboard 文件中,将 Back ButtonAuto Layout 约束设置为 Top Space to Navigation Bar
  2. 然后,通过 Storyboard 中的 Size Inspector 调整为 Back Button 视图的 Vertical Content Compression Resistance Priority。这会影响按钮标题的垂直位置。
  3. 如果需要在代码中修改 UIBarButtonItemTitle View,可以使用以下方法:
代码语言:swift
复制

let backButton = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(backButtonTapped))

backButton.titleView = UIView(frame: CGRect(x: 0, y: 0, width: 60, height: 30)) // 设置 Title View 的 Frame

代码语言:txt
复制

在上面的示例中,我们创建了一个自定义的 UIBarButtonItem,并设置了其 Title View 的属性。为了调整标题垂直位置,只需设置 Title ViewFrame

名词解释

  1. iOS: 苹果移动操作系统,是苹果公司为其移动设备所开发的操作系统。
  2. UIBarButtonItem: iOS 中的视图对象,用于在导航栏中显示按钮,并可通过它触发相应操作。
  3. Navigation Bar: 导航栏,位于应用程序窗口的顶部,用于显示页面之间的导航链接。
  4. 后退按钮(Back Button): 在导航栏中,用于返回上一页或前一个视图的控制按钮。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 11 更大的导航 (官方翻译版)

当显示新屏幕时,通常标有前一屏幕标题后退按钮出现在栏的左侧。有时,导航栏的右侧包含一个控件,如编辑或完成按钮,用于管理活动视图中的内容。在拆分视图中,导航栏可能会出现在拆分视图的单个窗格中。...通常,导航栏不应包含视图的当前标题后退按钮和管理视图内容的一个控件。如果您在导航栏中使用分段控件,则该栏不应包含标题或除分段控件之外的任何控件。 使用标准后退按钮。...人们知道标准的后退按钮可以让他们通过信息层次来回溯步骤。但是,如果您实现自定义后退按钮,请确保它仍然像后退按钮,行为直观,与您的界面的其余部分相匹配,并始终贯穿您的应用程序。...如果用自定义图像替换系统提供的返回按钮人字纹,也可以提供自定义遮罩图像。iOS在使用此遮罩时,可以在转换期间为按钮标题设置动画。 不要包含多段面包屑路径。...后退按钮总是执行单个操作 - 返回到上一个屏幕。如果您认为在没有当前屏幕的完整路径的情况下,人们可能会迷失方向,请考虑对应用程序的层次结构进行展平。 给文本标题按钮足够的空间。

2.8K30

关于刘海打理这种事儿,美团点评的iOS工程师早就有经验了,不信你看!

iPhone X 和 iPhone 8 的宽度一致,在垂直方向上多了145pt,这就意味着首页可以展示更多的内容,多出来的这20%的垂直空间,也许可以挂上更高价值的运营位。 ?...② 搜索页面输入框的位置发生了偏移,这是因为 iOS 11 的导航栏的视图层级结构发生了变化,和 iPhone X 的并无直接关系。iOS 11 导航栏的视图层级关系如下: ?...其实是当 Tableview 的 frame 超出了 safeArea 范围之后,系统会调整内容的位置。...④ “我的Tab” 导航栏上,右边那个按钮全都发生了偏移,导致无法点击。...但是这样引出来另外一个问题,iOS 11 之前那种设置负宽度的 fixedspace 来调整间距的 trick 方式已经失效了!

2.1K70

iOS调整导航条BarButtonItem与titleView 的间距

前言 例子:调整BarButtonItem按钮和titleView的间距 1、原理:titleview的起点位置和尺寸依赖于leftBarButtonItem和rightBarButtonItem的位置...常见问题 1、 BarButtonItem 隐藏失效的解决方案:使用initWithCustomView进行实例化BarButtonItem 2、 iOS13.5.1 版本无法点击导航条右侧按钮:CustomView...不能直接是UIButton, 因此解决方案只要对UIButton进行包装一层之后再作为CustomView I、调整BarButtonItem按钮和titleView的间距 与屏幕边界 或者与titleView...= 10; 1.1 调整右边按钮和titleView的间距 ---- //设置右边按钮 UIBarButtonItem *btn_right = [UIBarButtonItem barButtonItemWithTarget...= lefttItem; 2.2 iOS13.5.1 版本无法点击导航条右侧按钮 无法点击代码 // UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom

2K20

IOS开发基础系列】Navigation页面导航专题

2.3 回退按钮 2.3.1 回退按钮自定义 UIBarButtonItem * backItem = [[UIBarButtonItem alloc] initWithImage: [UIImage...        最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是: [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment...-7-uibarbuttonitem 2.5.4 隐藏返回按钮 [self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航栏标题的字体颜色和大小...//自定义标题视图 UILabel *titleLabel = [[UILabel alloc] initWithFrame: CGRectMake(0, 0, 200, 44)]; titleLabel.backgroundColor...7 导航栏背景,标题和返回按钮文字颜色 http://blog.csdn.net/mad1989/article/details/41516743 IOS自定义导航栏题目和返回按钮标题 http://

30320

iOS导航栏基础效果配置

标题设置 self.navigationItem.title = @"标题"; 复制代码 正常情况下,控制器的标题会默认作为导航标题 前景色 self.navigationController.navigationBar.barTintColor...setBackgroundImage:[UIImage imageNamed:@"Background"] forBarMetrics:UIBarMetricsDefault]; 复制代码 状态栏字体颜色和隐藏 在iOS7...UIStatusBarStyleLightContent; } - (BOOL)prefersStatusBarHidden { return YES; } 复制代码 若iOS7...设置返回按钮 //只设置颜色 self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; 复制代码 //设置成图片...状态栏的自适应问题 //不让其自动调整 self.automaticallyAdjustsScrollViewInsets = NO; 复制代码 发布者:全栈程序员栈长,转载请注明出处:https://

1.5K10

UI篇-UINavigationController之易忘补充

上面设置的为YES,下面的为NO 关于导航返回:     首先ios7 之后只要使用系统自带的导航效果就有手动滑动返回的效果。但是当自定义返回按钮时,这种手动滑动返回的效果就没有了。...];//不写就是back [UIBarButtonItemalloc]initWithImage//这个图片会替代文字的位置,右边的粗的返回箭头还在 SecondViewController *sec...:target:action:设置按钮样式及触发事件 -initWithTiltle:style:target:action: 设置标题的触发事件 -initWithImage:style:target...:action:设置视图的触发事件 tintColor  设置tintColor可以影响添加在导航条上的系统样式的按钮的颜色  title: 标题  titleView :标题视图  leftBarButtonItem...每个视图控制器都有一个navigationItem属性,navigationItem中设置的做按钮、右按钮标题等,会随着控制器的显示,也显示到navigationBar上 我们来看一下这些名词是什么意思

2.1K20

iOS开发UINavigation系列二——UINavigationItem

iOS开发UINavigation系列二——UINavigationItem 一、引言         UINavigationItem是导航栏上用于管理导航项的类,在上一篇博客中,我们知道导航栏是通过...二、来说说UINavigationItem         Item,从英文上来理解,它可以解释为一个项目,因此,item不是一个简单的label标题,也不是一个简单的button按钮,它是导航栏中管理的一个项目的抽象...这里有一点需要注意,虽然backBarButtonItem的标题我们可以自定义,但是方法和其他属性我们都不能定制,是系统实现好的。...例如:         UIBarButtonItem * button = [[UIBarButtonItem alloc]initWithTitle:@"按钮" style:UIBarButtonItemStyleDone..., //显示保存      UIBarButtonSystemItemAdd,//显示加号     UIBarButtonSystemItemFlexibleSpace,//什么都不显示,占位一个空间位置

59320

UINavigationBar的用法

设置导航栏的标题 这个直接是很简单的设置,一行代码搞定 self.navigationItem.title = @"导航栏标题"; 设置导航栏背景颜色 导航栏的背景颜色,也是很简单的 自己替换代码中的颜色即可...UIBarMetricsDefault]; //表示横屏竖屏都显示 UIBarMetricsDefault, //表示在只横屏下才显示,和UIBarMetricsLandscapePhone功效一样,不过iOS8...0, // Dark content, for use on light backgrounds UIStatusBarStyleLightContent NS_ENUM_AVAILABLE_IOS...,我们设置的返回按钮都是蓝色的默认颜色,那么到底该怎么更改这些按钮的颜色呢 设置返回按钮的颜色,只设置tintColor的颜色就好了 self.navigationController.navigationBar.tintColor...仅仅设置返回按钮的文字 - (void)setBackButtonTitle { UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle

1.9K20

Human Interface Guidelines —— 导航栏(Navigation Bars)

内容 当显示一个新的屏幕时,一个后退按钮(通常标有前一个屏幕的标题)出现在该bar的左侧。...左:标准标题    右:大标题 如果需要额外强调上下文,请使用大标题。 在某些app中,大标题的大号加粗文本可以帮助用户在浏览和搜索时知道自己所在位置。...通常,navigation bar不应包含除了:1、视图的当前标题;2、后退按钮;3、管理视图内容的一个控件 之外的东西。...人们知道标准的后退按钮可以让他们通过层级的信息返回。但是,如果您实现了自定义后退按钮,请确保它仍然看起来像后退按钮,直观,与剩下的页面交互方式保持匹配,并始终贯穿于您的应用程序中。...如果您使用自定义图像替换系统提供的后退按钮V形图像,则也需要提供自定义遮罩图像。 iOS使用此遮罩在转场时为按钮标题设置动画效果。 ·不要包含多段面包屑路径。

2.4K110

iOS学习—— UINavigationController的返回按钮与侧滑返回手势的研究

侧滑返回手势是从iOS7开始增加的一个返回操作,经历了两年时间估计iPhone用户大部分都已经忽略了屏幕左上角那个碍眼的back按钮了。...最重要的一部分我用蓝色加粗标出来了,就是说这个UINavigationBar主要是由左右按钮控件、中间标题控件组成。...原生的导航条上的返回(back)按钮,一般是显示一个返回箭头+上一页面的标题(或者是 返回箭头+Back),如下图右边所示。 ?...他们都属于UINavigationItem的组成部分,都显示在navigationBar上,都属于UIBarButtonItem类,所以我给他们取名为导航条上的按钮三兄弟,哈哈哈。。。   ...(没有设置则默认是上一级标题),那么系统可能会自动用“Back/返回”来代替返回按钮中的标题

6.3K60

iOS监听H5页面goBack返回事件 & 网页监听APP返回键 (NavigationBackItemInjection)

调用js方法 监听 estimatedProgress 引言 需求:原生app使用WebView 控制器加载H5页面进行信用卡申请 问题:用户点击残忍放弃之后,没有关闭当前控制器 重现场景:用户点击返回按钮...解决方案: 1、iOS监听H5页面goBack返回事件 2、直接使用Safari打开URL 相关文章: iOS 封装WebView 控制器https://kunnan.blog.csdn.net/article...5、 _webView.allowsBackForwardNavigationGestures = YES;允许左滑右滑,默认值为NO;设置为YES后,即可实现左右滑手势操作后退前进 6、WKWebView...webView.backForwardList.forwardItem.title); NSLog(@"URL:%@", _webView.backForwardList.forwardItem.URL);//列表中条目的标题及...imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; } self.navigationItem.leftBarButtonItem=[[UIBarButtonItem

5.5K21

六天完成一个简单iOS App - 第一天

项目图片获取方式 图片的获取非常简单,我们只要将iTunes中的项目拖到桌面,然后改后缀名为zip,然后在解压就可以了,更简单暴力的可以使用iOS-Images-Extractor运行后直接将项目拖进去...UITabBar 中间添加按钮的实现 我们知道中间加号按钮是没有标题的,即使我们将标题设置为空,还有有标题的label站位,所以UITabBarItem是不能实现了,那么我们只能将一个button覆盖在中间这块区域上...,实现方法很简单,将UITabBar平均分为5段,将中间空出,其他四个TabBarItem设置完frame之后,懒加载button添加到中间位置。...实现UINavigationController 返回按钮统一设置 方法一:创建基类,其他继承基类,自动有这个按钮类型 创建一个UINavigationController基类,设置好统一的返回按钮,...alloc]initWithCustomView:button]; } 这样我们在根控制器中设置UIbarbuttonitem一句话就搞定了 // 设置左边按钮button self.navigationItem.leftBarButtonItem

1.1K50

iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

; -- "setTittleColor : forState :" 方法 : UIButton 不同状态设置不同的标题颜色; -- "setTittleShadowColor : forState :...控制按钮边界; -- Content : 按钮内容作为按钮边界; -- Tittle : 按钮标题文本作为边界; -- Image : 按钮图片作为按钮边界; (11) Inset 属性 Inset...创建按钮 :  //创建第一个按钮 UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithTitle:@"键盘附件...target:self action:nil]; //创建第二个按钮 UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem...target:self action:nil]; //创建第二个按钮 UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem

6.4K20

iOS多控制器之UINavigationController&UITableBarController1. 多控制器2. UINavigationController3. UITableBarCont

多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单 当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view...个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B、C、D 控制器A被称为控制器B、C、D的“父控制器” 控制器B、C、D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS...@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem; //中间的标题视图 @property...(nonatomic,retain) UIView *titleView; // 中间的标题文字 @property(nonatomic,copy) NSString...UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。 UITabBar的结构⼤大致如下图所示: ?

1.2K40
领券