如何在Xcode中破译句子

如何在Xcode中破译句子,xcode,line,break,Xcode,Line,Break,我不熟悉这个,也不熟悉编码。 我正在开发一个测验应用程序,下面是其中一行代码: [questions addObject:@"When was the Declaration of Independence signed?"]; [answer addObject:@"1776"]; 但是当我测试它时,问题太长了,所以它会使文本变得非常小,我如何才能使它的一半下降到下一行?有几个选项 最基本的方法是对换行符进行“硬编码”,这不是最好的选择,但我会详细说明,以便您了解其中的区别:这包括通过在问题

我不熟悉这个,也不熟悉编码。 我正在开发一个测验应用程序,下面是其中一行代码:

[questions addObject:@"When was the Declaration of Independence signed?"];
[answer addObject:@"1776"];

但是当我测试它时,问题太长了,所以它会使文本变得非常小,我如何才能使它的一半下降到下一行?

有几个选项

最基本的方法是对换行符进行“硬编码”,这不是最好的选择,但我会详细说明,以便您了解其中的区别:这包括通过在问题中希望换行符开始的位置添加“换行符”代码(\n)将问题分为两行。例如:

[questions addObject:@"When was the Declaration\nof Independence signed?"];
这不是灵活的或自适应的,无论您是使用界面生成器配置显示文本的对象(UILabel或UITextView,或其他类),文本的第二行可能会消失,因为它在创建UILabel或UITextView时位于可见区域设置之下。这种方法也违背了最佳实践,因为它混淆了显示和数据。目前的数据没有问题

更好的选择是只处理显示文本的对象,这是无论如何都需要做的。这里我将以UILabel为例,但UILabel和UITextView对象都具有可以通过编程或在Interface Builder中设置的属性,这些属性将有效地使它们不仅可以拉伸显示区域,还可以缩小文本,而且还要根据显示区域的新大小在最符合逻辑的点处包装文本

以编程方式,首先确保UILabel对象的行数设置为0:

textLabel.numberOfLines = 0;
如果您是在Interface Builder中创建UILabel的,也可以在其中执行此操作


如果这不起作用,则可能是其他设置不正确-检查UILabel的度量,以确保您没有以任何方式“锁定”其大小(其根据内容大小自动增长或自动收缩的能力)。

您是否在
UILabel
UIButton
UITextView
中显示文本?是的。我试着把这行一分为二,然后把它撞到下一行,但textLabel不起作用。numberOfLines+0;