导航栏中的标题太长
Posted
技术标签:
【中文标题】导航栏中的标题太长【英文标题】:Title in Navigation bar too long 【发布时间】:2016-06-17 04:24:57 【问题描述】:我制作了一个 ios 应用。在 iPhone 6s 上,导航栏中的标题是“这是我的应用程序!”。在 iPhone 5s 上,导航栏中的标题是“This is my a...”。它太长了。是否有可能为 iPhone 5s 自动缩小文本或设置自己的字体大小或其他标题?
截图
我几乎一整天都在谷歌上搜索,但找不到任何有用的提示。
有人有想法吗?
【问题讨论】:
Navigation Bar Title Font Size的可能重复 【参考方案1】:解决方案
-
创建
UILabel
,定义其框架,分配文本
启用文本的自动调整大小
label.adjustsFontSizeToFitWidth=YES;
label.minimumScaleFactor=0.5;
将标签设置为视图控制器navigationItem
的titleView
self.navigationItem.titleView = label;
【讨论】:
代码放在哪里?在 ViewDidLoad 下的 ViewController.m 中? 是的,没错,你的视图控制器的viewDidLoad
“定义其框架”到底是什么意思?
我收到错误消息“使用未声明的标识符‘标签’
太棒了!通过定义框架,我的意思是用框架初始化标签。看起来你已经在这样做了,你正在使用 initWithFrame
来提供帧值。【参考方案2】:
试试这个
UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, YOUR_WIDH, YOUR_HEIGHT)];
lbl.textAlignment=NSTextAlignmentCenter;
lbl.backgroundColor=[UIColor clearColor];
lbl.font=[UIFont fontWithName:@"FONT_NAME" size:FONT_SIZE];
lbl.textColor=[UIColor whiteColor];
lbl.text=@"YOUR TITLE";
self.navigationItem.titleView=lbl;
【讨论】:
感谢您的回答。放在哪里?在 [super viewDidLoad] 下的 ViewController.m 中;? 谢谢,我做到了,但仍然没有成功。我在[super viewDidLoad]下添加了代码;我替换了 YOUR_WIDH=200, YOUR_HEIGHT=30, FONT_NAME=Arial, size:FONT_SIZE=25。我没有收到错误,但导航栏中也没有标题。我必须添加标签或类似的东西吗? 当然。主要问题还是设置为新的“答案”? 好的,我刚做了。你能帮帮我吗? 你能帮帮我吗?我必须在 ViewController.h 中做些什么吗?还是创建一个标签?以上是关于导航栏中的标题太长的主要内容,如果未能解决你的问题,请参考以下文章
如何在 twitter bootstrap3 的导航栏中增加搜索栏的宽度