ios - 文本标签自动换行

标签 ios iphone uilabel

我正在使用文本标签显示以前输入的已保存的用户信息。我无法将整个日期和时间放在一行中。任何超出特定长度的信息都不会出现在标签中。我试图做两件事: 1)使标签更大(这对将文本保留在标签内没有任何帮助) 2)将属性检查器下的“换行符”选项更改为“自动换行”。这也没有解决我的问题

如何才能将所有日期/时间信息包含在同一个标​​签中,仅使用换行文本,以便超出屏幕边缘的文本换行到下一行?

下面的代码显示了 View 的创建,屏幕截图捕获了它在应用程序中的样子(不包括“日期和时间”部分中的一些文本)以及我在 Storyboard 中为标签“日期”设置的设置和时间”

创建 View :

- (void)configureView
{
    Event *theEvent = self.event;

    static NSDateFormatter *formatter = nil;
    if (formatter == nil) {
        formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"cccc, MMMM dd, yyyy hh:mm a"];
    }
    if (theEvent) {
        self.detailLabel.text = theEvent.detail;
        self.locationLabel.text = theEvent.location;
        self.dateTimeLabel.text = [formatter stringFromDate:(NSDate *)theEvent.date];
    }
}

enter image description here enter image description here

最佳答案

只有当您将行数设置为零并且标签足够高以包含多行时,换行符选项才有效。您可以调用 sizeToThatFits: 来为标签获取合适的尺寸。

您还可以使用自动收缩选项在需要时自动缩小文本。

关于ios - 文本标签自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461480/

相关文章:

android - 在iOS和Android的flutter项目中运行firebase的最低版本是什么?

iphone - 如何从 iOS 应用程序将视频上​​传到 YouTube?

javascript - 如何复制JQtouch流畅的iphone动画?

ios - 根据文本值动态更新 UILabel 在 UIView 上的位置

ios - 在 UILabel 中将文本垂直对齐到顶部

ios - Swift 中的字符指针

iOS Swift - 呈现 View Controller 并在它们之间传递信息

ios - 无法通过命令行在模拟器上安装.app

iphone - 捕获卡在 DrawRect 方法中的 UIView 的 UIImage

ios - 使用 Swift 4 根据当前字体粗细更改应用程序中的所有 UILabel 字体