【问题标题】:Best way to display formatted NSString? Failed on UILabel显示格式化的 NSString 的最佳方式?在 UILabel 上失败
【发布时间】:2011-08-03 06:24:31
【问题描述】:

显示格式化的 NSString 的最佳方式是什么?我正在尝试格式化应用程序上的多项选择题的选项。

choices1 = [NSString stringWithFormat:@"\n\n Blue \n\n"
            "Yellow \n\n"
            "Red \n\n"
            "Orange \n\n"];

我想在 iPhone 屏幕上显示它。我尝试使用 UILabel 但它无法识别换行符。 (但它会打印单词)。

应该是这样的:

蓝色

黄色

红色

橙色

想法?谢谢。

【问题讨论】:

    标签: iphone objective-c nsstring format


    【解决方案1】:

    UILabel 默认为单行显示。如果您想要多行,请将 numberOfLines 设置为 0,表示无限行,或者设置为您希望将标签设置为上限的任何行数。

    【讨论】:

    • 完美。非常感谢。如您所见,在显示文本时我是个菜鸟,哈哈
    【解决方案2】:

    像这样更改 UILabel 的一些属性:

        NSString *str = [NSString stringWithFormat:@"\n\n Blue \n\n"
                     "Yellow \n\n"
                     "Red \n\n"
                     "Orange \n\n"];
    
        UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 150, 250)];
        myLabel.numberOfLines = 10;
        myLabel.text = str;
        [self.view addSubview:myLabel];
    

    享受编码..

    【讨论】:

      【解决方案3】:
      NSString *str = [NSString stringWithFormat:@"Blue
                                                   \n Yellow
                                                   \n Red
                                                   \n Orange"];
      

      设置numberOfLines = 4UILabel = 300的高度(你可以检查字符串是否适合这个高度。如果不增加高度)。

      【讨论】:

        【解决方案4】:

        与其使用 C 语法来分隔您的选择,不如使用 4 个 UILabel 并将标签准确地定位在屏幕上您想要的位置。然后,您不必担心像那样将它们全部分开。当您以图形方式设计界面时,修改和查看您在做什么也更容易。

        【讨论】:

          猜你喜欢
          • 2011-04-27
          • 1970-01-01
          • 2010-11-22
          • 1970-01-01
          • 2012-08-16
          • 2013-03-03
          • 2015-03-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多