我有一个简单的笔尖,里面有几个UILabel
个。
在一种情况下,我想根据应用程序的状态向底部添加UILabel
。是否可以动态/编程地将内容添加到笔尖以及如何添加?
答案 0 :(得分:0)
您应该从代码中执行此操作,即与.nib相关联的ViewController。
在View Controller的类中,在头文件中添加一些UILabel实例变量,即
@interface MyVC : UIViewController {
UILabel* conditionalLabel;
} ...
然后,在.m实现文件中,
@implementation MyVC : UIViewController {
-(void)viewDidAppear:(BOOL)animated {
if(myConditionToShowLabel) {
if(!conditionalLabel) {
conditionalLabel = [[UILabel alloc] initWithFrame: CGRectMake(x, y, width, height)];
[self.view addSubView:conditionalLabel];
} else {
[conditionalLabel removeFromSuperView];
[self.view addSubView:conditionalLabel];
}
}
}
请记住在XCode的NIB编辑器中将视图控制器类设置为MyVC: - )
这样的东西会起作用,而且这是完全正常的做法:-)单独使用NIB制作动态用户界面很困难 - 有时你需要得到#34;编码&#34 34。
答案 1 :(得分:0)
您可以以编程方式在视图中添加UILabel。最好的地方是 viewDidAppear 方法。
例如,
-(void)viewDidAppear
{
[super viewDidAppear];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMinX(self.view.frame), CGRectGetMaxY(self.view.frame)-30, 200, 30)];
[self.view addSubView:label];
}
标签将显示在视图的底部。