Cocoa touch 以编程方式更新nib的框架和内容
我有一个简单的笔尖,里面有两个Cocoa touch 以编程方式更新nib的框架和内容,cocoa-touch,ios7,xcode5,uilabel,xib,Cocoa Touch,Ios7,Xcode5,Uilabel,Xib,我有一个简单的笔尖,里面有两个UILabels 在一个场景中,我想根据应用程序的状态在底部添加一个UILabel。是否可以通过动态/编程方式向nib添加内容,以及如何添加内容?您应该通过代码(即与.nib关联的ViewController)执行此操作 在视图控制器的类中,在头文件中添加几个UILabel实例变量,即 @interface MyVC : UIViewController { UILabel* conditionalLabel; } ... 然后,在.m实现文件中 @impl
UILabel
s
在一个场景中,我想根据应用程序的状态在底部添加一个
UILabel
。是否可以通过动态/编程方式向nib添加内容,以及如何添加内容?您应该通过代码(即与.nib关联的ViewController)执行此操作
在视图控制器的类中,在头文件中添加几个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编辑器中将view controller类设置为MyVC
这样做是可行的,这是完全正常的做法:-)单凭NIB很难创建动态用户界面有时候你需要“开始编码”。你可以通过编程方式在视图中添加UILabel。执行此操作的最佳方法是查看显示方法 比如说,
-(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];
}
标签将显示在视图的底部