如何将标签及其动态文本设置为uiview的中心

时间:2014-11-15 08:34:54

标签: objective-c iphone uiview uilabel

如何将标签及其动态文本设置为uiview的中心。

 myView = [[UIView alloc] initWithFrame:CGRectMake(0,20,self.view.frame.size.width,32)];
    [myView setBackgroundColor:[UIColor lightGrayColor]];
    [self.view addSubView:myView];

    UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(myView.frame.size.width/2,10,0, 12)];
    [myLabel setFont:[UIFont Helvetica12]];
    [myLabel setText:[listDiction objectForKey @"dynaimicText"];
    [myLabel sizeToFit];
    myLabel.center = myView.center;
    [myView addSubview:myLabel];

需要你的建议。

1 个答案:

答案 0 :(得分:0)

用此订单替换您的行

[myView addSubview:myLabel];
[myLabel sizeToFit];
myLabel.center = myView.center;

但请等待,如果您的文字是动态的,那么,如果文字大小为>,您还要添加myLabel.numberOfLines = 0;(对于多行)。 myView高度然后文本将在它增加myView高度时被剪裁。

为此,您需要计算标签文字大小并在创建myLabel之前调整myView的大小。

这个问题Calculating number of lines of dynamic UILabel (iOS7)可能会有所帮助。