显示格式化NSString的最佳方式? UILabel失败

时间:2011-08-03 06:24:32

标签: iphone objective-c nsstring format

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

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

我想在iPhone屏幕上显示它。我尝试使用UILabel,但它无法识别新行字符。 (虽然打印了这些文字)。

应如下所示:

红色

思考?感谢。

4 个答案:

答案 0 :(得分:3)

UILabel默认为单行显示。如果您想要多行,请将numberOfLines设置为0,无限行,或者设置标题所需的任意行数。

答案 1 :(得分:0)

更改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];

享受编码..

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

不是用C语法来区分您的选择,而是最好使用4个UILabel,只需将屏幕上的标签准确定位在您喜欢的位置即可。然后你不必担心像这样将它们分开。当你以图形方式设计界面时,修改和查看你正在做的事情也会容易得多。