我有一个愚蠢的问题。
我使用以下代码通过代码创建/修改UILabel。我通过代码创建它的原因是因为我需要它旋转90度而我不知道在IB中这样做的方法。
发生了什么 - 用户点击一个按钮,使他们选择的文本显示在UILabel中。然后,当他们再次选择具有不同文本的按钮时,新文本将显示在旧文本的位置。
我第一次点击按钮时效果很好,但第二次按下按钮时,旧标签上会出现新标签,旧标签永远不会消失。我已经尝试删除第一个标签,将其设为零,只删除文本,但是一旦创建标签,我就无法访问标签的任何部分。
ViewController.h
... UIView * viewForLabels; UILabel * tab1Label; } @property(非原子,保留)IBOutlet UIView * viewForLabels; @property(非原子,保留)IBOutlet UILabel * tab1Label ...
@end
ViewController.m
...
@synthesize tab1Label;
...
UILabel *tab1Label = [[UILabel alloc]init];
tab1Label.text = [theText];
tab1Label.backgroundColor = [UIColor clearColor];
tab1Label.textColor = [UIColor blackColor];
tab1Label.opaque = NO;
tab1Label.font = [UIFont systemFontOfSize:14];
tab1Label.numberOfLines = 2;
tab1Label.adjustsFontSizeToFitWidth=YES;
tab1Label.transform = CGAffineTransformMakeRotation (90*3.1459565) / 180);
tab1Label.frame = CGRectMake(2,87,45,119);
[viewForLabels: addSubview: tab1Label];
...
答案 0 :(得分:1)
首先在代码示例中分配tabLabel1,然后针对不同的命名对象tab1Label运行一系列属性更新。
很抱歉,如果我误解了这个问题,但为什么要创建第二个标签?根据您的描述的这一部分:
发生了什么 - 用户点击了 制作文字的按钮 选择出现在UILabel中。 然后当他们选择按钮时 再次,用不同的文字,新的 文本出现在旧文本的位置。
只需更新.text属性以及为什么要使用整个单独的对象所需的任何大小调整?