UILabel的文字不会改变

时间:2011-09-09 02:45:52

标签: iphone uibutton uilabel ibaction

嘿伙计们,我正在另一个按钮内以编程方式创建UILabel和UIButton,因此当按下此按钮时,它会创建一个UILabel和一个UIButton,并在单独的页面上添加为子视图。我想要一个按钮,可以为标签值添加1。以下是将标签添加到第二个视图的按钮的代码:

-(IBAction)outlet1:(id)sender{
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[addButton addTarget:self action:@selector(addButton1:)    
forControlEvents:UIControlEventTouchUpInside];
[addButton setTitle:@"+" forState:UIControlStateNormal];
addButton.frame = CGRectMake(80.0, 210.0, 35, 40.0);
[cart.view addSubview:addButton];

UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(137, 150, 25, 35)];
label.backgroundColor = [UIColor clearColor];
label.text = @"1";
[cart.view addSubview:label];
}

这是我希望能够改变标签的按钮:

- (void)addButton1:(id)sender {
[black.label setText:[NSString stringWithFormat:@"%d",[black.label.text intValue] +1]];    
}

black是一个与第一个viewController关联的ivar,cart与第二个viewController关联!我的问题是当我按下与addButton1:连接的按钮时方法,它崩溃了吗?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您需要在UILabel中初始化viewDidLoad并为其创建 ivar ,然后您可以在@implementation中访问它。

@synthesize label;

- (void) viewDidLoad
{
    label = [[UILabel alloc] initWithFrame:CGRectMake(137, 150, 25, 35)];
}