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

标题变得太宽时调整UIBarButtonItem的大小

当标题变得太宽时,调整UIBarButtonItem的大小可以通过以下步骤实现:

  1. 在UIViewController中获取UIBarButtonItem对象,例如:let barButtonItem = self.navigationItem.rightBarButtonItemlet buttonWidth = barButtonItem.widthif buttonWidth < titleLabel.width { let widthDiff = buttonWidth - titleLabel.width barButtonItem.width = widthDiff } else { barButtonItem.width = buttonWidth }self.viewDidLoad()这样就完成了标题变得太宽时调整UIBarButtonItem的大小的操作。
  2. 获取UIBarButtonItem的当前宽度,例如:
  3. 判断标题是否超过UIBarButtonItem的宽度,如果超过则调整UIBarButtonItem的大小。可以通过以下代码实现:
  4. 调整UIBarButtonItem的大小后,重新加载视图以查看更改是否生效。可以通过以下代码实现:

需要注意的是,这只是一个简单的示例,实际应用中可能需要考虑更多的情况,例如按钮的图像大小、间距等。此外,如果标题是通过动态计算得到的,可能需要使用更高级的解决方案来处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

,去掉后边文字,在网上查了一些资料,最简单且没有副作用方法就是: [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment...2.5.4 隐藏返回按钮 [self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航栏标题字体颜色和大小     方法一:(自定义视图方法,...NSTextAlignmentCenter; titleLabel.text = @"新闻"; self.navigationItem.titleView = titleLabel;     方法二:(在默认显示标题中直接修改文件大小和颜色也是可以...否则会导致页面切换选中状态不准确         TabBar与导航条混用时,TabBarItem设置是在NavigationController中,而不是内容Controller中,切记!!!...否则会导致页面切换选中状态不准确。

30420

【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中基本文本和button以及各种跳跃

当然可用有设置导航条标题方法setTitle,当然你也能够直接把文字换成一个视图。...即所谓标题视图放在导航条中间,用得方法是setTitleView,非常多游戏导航条中间貌似是一个图片,能够用这个。...也要注意一下有多个button排列顺序。 (5)我们创建这些导航条button有非常多种形式。...有的是由文字,有的图片,有的系统自带的如摄像头或者Reply这些icon,有的全然是自定义视图。...事实上它们有的不透明有的透明有的半透明,但不知为何无效果 self.navigationController.navigationBar.barStyle=UIBarStyleDefault

2.1K10

sap.m.Table 和 sap. ui.table.Table 两个控件功能对比

顾名思义,前者是响应式,更适合移动应用程序,而另一种则更面向桌面。 注意 关于这两个控件具体使用差异,请查询我 一套适合 SAP UI5 开发人员循序渐进学习教程里对应文章,近期会发表。...我们期望从数据表中获得所有方便功能,如标题排序、列过滤器、列大小调整等,仅在 ui-table 中可用。 另一方面,ui-table 没有列宽优化器,所以基本上所有的列要么太宽要么太窄。...反过来,此功能仅在 m 表中可用, 这意味着后者不能手动调整列宽。 ui-table 使用虚拟滚动:当数据从一行跳到另一行,网格保持不变。...这不适用于单元格中图像,如果多行具有相似数据,这看起来也很奇怪。 另一方面,ui-table 可以自动调整高度以适合容器,而 m-table 不能。...当涉及到列、单元格或行分组等更高级功能,事情就变得复杂了。 出于某种原因,行分组只在 m 表中得到正确支持,而在 ui 表中则不支持。 合并单元格也是如此。

1K30

iOS开发UINavigation系列二——UINavigationItem

二、来说说UINavigationItem         Item,从英文上来理解,它可以解释为一个项目,因此,item不是一个简单label标题,也不是一个简单button按钮,它是导航栏中管理一个项目的抽象...除了创建一个标题item,我们也可以创建一个View类型item:         UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0,...这里有一点需要注意,虽然backBarButtonItem标题我们可以自定义,但是方法和其他属性我们都不能定制,是系统实现好。...,第二个方法多了一个landscapeImagePhone参数,这个参数可以设置设备横屏图片。...,对于BarButtonItem这个对象,系统也封装好了许多原生可以供我们使用,创建时候使用如下方法: UIBarButtonItem * button = [[UIBarButtonItem alloc

59320

UI篇-UINavigationController之易忘补充

上面设置为YES,下面的为NO 关于导航返回:     首先ios7 之后只要使用系统自带导航效果就有手动滑动返回效果。但是当自定义返回按钮,这种手动滑动返回效果就没有了。...:target:action:设置按钮样式及触发事件 -initWithTiltle:style:target:action: 设置标题触发事件 -initWithImage:style:target...:action:设置视图触发事件 tintColor  设置tintColor可以影响添加在导航条上系统样式按钮颜色  title: 标题  titleView :标题视图  leftBarButtonItem...每个视图控制器都有一个navigationItem属性,navigationItem中设置做按钮、右按钮、标题等,会随着控制器显示,也显示到navigationBar上 我们来看一下这些名词是什么意思...viewControllertoolbarItems来设置,显示顺序和设置NSArray中存放顺序一致,其中每一个数据都一个`UIBarButtonItem`对象,可以使用系统提供很多常用风格对象

2.1K20

iOS调整导航条BarButtonItem与titleView 间距

间距 只要分别调整rightBarButtonItems 数组元素顺序。...相当于btn向右移动width数值个像素,由于按钮本身和边界间距为5pix,所以width设为-5,间距正好调整 * 为0;width为正数,正好相反,相当于往左移动width数值个像素...*/ negativeSpacer.width = 10; 1.1 调整右边按钮和titleView间距 ---- //设置右边按钮 UIBarButtonItem...相当于btn向右移动width数值个像素,由于按钮本身和边界间距为5pix,所以width设为-5,间距正好调整 * 为0;width为正数,正好相反,相当于往左移动width数值个像素...相当于btn向右移动width数值个像素,由于按钮本身和边界间距为5pix,所以width设为-5,间距正好调整 * 为0;width为正数,正好相反,相当于往左移动width数值个像素

2K20

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

导航栏 导航栏出现在应用程序屏幕顶部状态栏下方,并可以通过一系列分层屏幕进行导航。当显示新屏幕,通常标有前一屏幕标题后退按钮出现在栏左侧。...导航栏是半透明,可能具有背景色调,并且可以配置为在屏幕上键入屏幕隐藏,发生手势或视图调整大小。 ? 考虑在显示全屏内容暂时隐藏导航栏。当您想关注内容,导航栏可能会分散注意力。...标准标题 ? 大标题 当您需要特别强调上下文,请使用较大标题。在一些应用程序中,大标题大胆大胆文字可以帮助人们浏览和搜索。...当用户开始滚动内容,大标题转换为标准标题。大标题在所有应用程序中都没有意义,不应与内容竞争。虽然Clock应用程序具有标签式布局,但是大型标题是不必要,因为每个标签都有一个不同,可识别的布局。...对于开发人员指南,请参阅UIBarButtonSystemItemFixedSpace在恒定值UIBarButtonItem。 考虑在导航栏中使用分段控件来展平应用程序信息层次结构。

2.8K30

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

文本, 图片, 格式; -- Default : 默认状态; -- Highlighted : 用户碰触高亮状态; -- Selected : 被选中状态; -- Disabled : 禁用状态...; 为不同状态 UIButton 设置样式 :  -- "setTittle : forState :" 方法 : UIButton 不同状态 设置不同标题; -- "setTittleColor...: forState :" 方法 : UIButton 不同状态设置不同标题颜色; -- "setTittleShadowColor : forState :" 方法 : UIButton 不同状态...; -- Plain 属性值 : 默认即可; -- Attribute 属性值 :  (4) Tittle 属性 Font 属性 : 用于控制文字 字体, 大小, 风格; (5) Text Color...; (10) Edge 属性 Edge 属性 : 控制按钮边界; -- Content : 按钮内容作为按钮边界; -- Tittle : 按钮标题文本作为边界; -- Image : 按钮图片作为按钮边界

6.4K20

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

多控制器 一个iOSapp很少只由一个控制器组成,除非这个app极其简单 当app中有多个控制器时候,我们就需要对这些控制器进行管理 有多个view,可以用一个大view去管理1个或者多个小view...UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建窗口,根据屏幕大小设置...1,initWithRootViewController:创建导航控制器,直接指定一个根控制器。...@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem; //中间标题视图 @property...(nonatomic,retain) UIView *titleView; // 中间标题文字 @property(nonatomic,copy) NSString

1.2K40

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

,侧滑手势影响用户体验效果,此时用户将无法通过侧滑进行返回。...最重要一部分我用蓝色加粗标出来了,就是说这个UINavigationBar主要是由左右按钮控件、中间标题控件组成。...原生导航条上返回(back)按钮,一般是显示一个返回箭头+上一页面的标题(或者是 返回箭头+Back),如下图右边所示。 ?...,如果你上一级设置backBarButtonItem标题过长(没有设置则默认是上一级标题),那么系统可能会自动用“Back/返回”来代替返回按钮中标题。...优先级高,当存在leftBarButtonItem,自动忽略backBarButtonItem,达到重写backBarButtonItem目的。

6.3K60

【CSS】1287- 一行 CSS 实现 10 种强大布局

我们在这里做是将最小侧边栏大小设置为 150px ,但在更大屏幕上,让它伸展出 25% 。侧边栏将始终占据其父级水平空间 25%,直到 25% 变得小于 150px 。...,并将剩余空间 ( 1fr ) 应用于主区域,而auto调整大小行将采用其子项最小内容大小,以便该内容大小增加,行本身将增长以进行调整。...,这里左侧和右侧边栏会根据其子项固有大小自动调整大小。...这可以实现更清晰布局,因为文本不会太宽(超过 46ch )或太窄(小于 23ch )。 这也是实现响应式排版好方法。...在这种情况下,标题字体大小将始终保持在 1.5rem 和 3rem 之间,但会根据 20vw 实际值增大和缩小以适应视口宽度。

4.5K20

移动端UI界面设计之APP字体排版原则| 萧蕊冰

如果再加入斜体、大小写和一大堆其他字体细节,还会有更大差异。 在桌面端浏览器中,65个字符很难触及边缘,但在移动设备上,65个字符(如果至少大到看得清)会超出浏览器边界。...宽松行距、紧凑行距 行距是行之间空间,行距太紧凑,会让视线难以从行尾扫视到下一行首。行距太宽松,字间距会开始形成队列,产生了我们通常意义上河流,阻断了行视觉流。...在移动端,应该用更小比例1.382来替代。 桌面端屏幕比移动端容许更夸张字号缩放。 7. 按比例调整字间距 为移动端调整字号,我们要意识到字间距发生了必要变化。...(先说一句,不应该调整固有字距。固有字距是两个字母相互组合时距离,使它们间距与其他字母间距在视觉上统一。创作字体,就纳入了固有字距考量,这个过程可能要花上数月。...如果你在调整标题,或是用了通常字间距紧密艺术字体,缩小时可能就需要把字间距放开一点。

1.8K30

rem与em详解

Em 单位遗传效果 使用 em 单位存在继承时候,情况会变得比较棘手,因为每个元素将自动继承其父元素字体大小。...1555350286371-a7064520-4031-4268-90b0-7ced69d6d091.png 浏览器将调整使用 em 单位 HTML 元素字体大小 当 em 单位设置在 html 元素上...根据我们上面的例子,设计组件比如按钮,菜单和标题可能会有自己明确字体大小。...标题经常使用 em 单位原因是他们相比px单位,在相对常规文本大小方面更出色。 然而 rem 单位同样也可以实现这一目标。 如果 html 元素上任何字体大小调整标题大小仍会缩放。...例如: .container { width: 100%; max-width: 75rem; } 这保持列灵活,可扩展。又能防止变得太宽了。

4K30

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

我们 App 脑袋会不会也长一刘海出来?Tabbar 会不会被圆角?先来看一下美团 App 表现: ? 图1.1 启动 App 表现 ? 图1.2 下拉刷新之后表现 ?...另外 WWDC 会议官方 App 作者,也给出了适配一些经验。 我们来看看他们是怎么说。 HIG部分 首先看一下各个机型尺寸变化。 ?...其实是当 Tableview frame 超出了 safeArea 范围之后,系统会调整内容位置。...这个问题也是在新导航栏结构视图下会出现,原因是新导航栏结构用了 AutoLayout 布局,我们这个并不是用常规 UIBarButtonItem 方式实现,而是一个 UIBarButtonItem...但是这样引出来另外一个问题,iOS 11 之前那种设置负宽度 fixedspace 来调整间距 trick 方式已经失效了!

2.1K70
领券