在我的视图控制器中, 我在这里创建一个标签。
在另一个viewcontroller中,我正在创建第一个视图控制器的实例。在这里,我尝试设置标签的text属性。但它不起作用。我一遍又一遍地检查我的代码,找不到任何遗漏的东西。 我尝试以编程方式创建标签以及使用界面构建器。仍然无法设置标签的文本属性。有什么理由吗?
我在
中创建标签- (void)viewDidLoad
{
myLabel = [[UILabel alloc]init];
[myLabel setText:@"Hi"];
[myLabel1 setText:@"Hello"];
[myLabel setFrame:CGRectMake(105, 130, 120, 30)];
[myLabel setBackgroundColor:[UIColor clearColor]];
[myLabel setTextColor:[UIColor whiteColor]];
[myLabel setTextAlignment:UITextAlignmentCenter];
[myLabel setAdjustsFontSizeToFitWidth:YES];
[self.view addSubview:myLabel];
[myLabel release];
}
在我的第一个视图控制器
中MySecondViewcontroller *showMyViewcontroller = [[ MySecondViewcontroller alloc]initWithNibName:@"MySecondViewcontroller" bundle:nil];;
showMyViewcontroller.myLabel = @"I cant set the text";
[self.navigationcontroller pushViewController: showMyViewcontroller animated:YES];
[showMyViewcontroller release];
我在这里做错了什么
答案 0 :(得分:2)
尝试使用中间字符串来执行此操作,如下所示:
在FirstViewController中:
- (void)loadNextView {
// load your view
SecondViewController *vc = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
// set a string in your second view (NOT a label)
vc.myString = @"Some String";
// push it or whatever
[self.navigaitonController pushViewController:vc animated:YES];
[vc release];
}
在SecondViewController.h中
@interface SecondViewController : UIViewController {
UILabel *myLabel;
NSString *myString;
}
@property (nonatomic, retain) UILabel *myLabel;
@property (nonatomic, retain) NSString *myString;
在SecondViewController.m中
- (void)viewDidLoad {
// view is now loaded, so we can set the label:
myLabel.text = myString;
}
答案 1 :(得分:0)
您尝试将字符串分配给UILabel,您需要将字符串分配给myLabel.text。此外,您必须确保UILabel可以访问,因此请确保它是属性。