垂直对齐UILabel中的文本

Kru*_*nal 5 iphone uilabel ipad ios

我是iPhone新手,

如何在UILabel中垂直对齐文本?

这是我的代码片段,

    UILabel *lbl=[[UILabel alloc]init];
    lbl.frame=CGRectMake(10,10,100,100);
    lbl.backgroundColor=[UIColor clearColor];
    lbl.font=[UIFont systemFontOfSize:13];
    lbl.text=@"123456";
    [scrollVw addSubview:lbl];
Run Code Online (Sandbox Code Playgroud)

显示的文字格式为123456但我希望文字应垂直显示,

6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)

任何帮助都会得到满足.

Iro*_*ill 6

无法UILabel垂直对齐文本.但是,您可以使用sizeWithFont:方法动态更改标签的高度NSString,并根据需要设置其x和y.

作为替代方案,您可以使用UITextField.它支持contentVerticalAlignmentpeoperty,因为它是一个子类UIControl.您必须将其userInteractionEnabled设置NO为阻止用户在其上键入文本.

编辑1

好吧,而不是UILabel,创建一个UITableView像: -

TableActivityLevel=[[UITableView alloc] initWithFrame:CGRectMake(224, 203, 27, 0) style:UITableViewStylePlain];
TableActivityLevel.delegate=self;
TableActivityLevel.dataSource=self;
TableActivityLevel.autoresizingMask = UIViewAutoresizingFlexibleHeight; 
TableActivityLevel.rowHeight = 17;
TableActivityLevel.backgroundColor=[UIColor clearColor];    
TableActivityLevel.layer.borderColor = [[UIColor clearColor]CGColor];
TableActivityLevel.separatorStyle = UITableViewCellSeparatorStyleNone;
Run Code Online (Sandbox Code Playgroud)

编辑2找到使用UILabels的方法!! :) 看一下这个....

UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, 10.0, 100.0)];
[label1 setBackgroundColor:[UIColor clearColor]];
[label1 setNumberOfLines:0];
[label1 setCenter:self.view.center];
[label1 setFont:[UIFont fontWithName:@"Helvetica" size:12.0]];
[label1 setTextColor:[UIColor whiteColor]];
[label1 setTextAlignment:UITextAlignmentCenter];
[label1 setText:@"1 2 3 4 5 6"];
[self.view addSubview:label1];
Run Code Online (Sandbox Code Playgroud)