识别Xcode中按钮的titleLabel

时间:2013-01-23 22:59:03

标签: xcode ipad ios6

我正在编写一个在视图控制器上有“取消”按钮的iPad应用程序。完成控制器上的工作后,labelText将从"取消"到"完成"。因此,我只想在labelTitle仍然是"取消"时显示警报。如果它是"完成"我只想让控制器解雇。这是代码:

NSLog(@"%@",closeButton.titleLabel.text);

if (closeButton.titleLabel.text = @"Cancel")
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"i-observe"
message:@"Are you sure that you want to cancel?" delegate:self cancelButtonTitle:@"no" otherButtonTitles:@"yes", nil];
[alert show];
} 
else
{
  [self dismissViewControllerAnimated:YES completion:nil];  
}

在两种情况下都会出现警报("取消""完成")。但是在NSLog中它显示titleLabel已更改。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先,您在if语句中将文本设置为“Cancel”。因此,您的if语句逻辑说“如果标题文本成功设置为'取消',则显示警报。”比较运算符为==,而不是=

其次,您不希望将两个不同的文本对象与==运算符进行比较。你想这样使用isEqualToString:

if ([closeButton.titleLabel.text isEqualToString:@"Cancel"]) { ... }

答案 1 :(得分:0)

您无法使用" =="比较字符串。你使用isEqualToString,如下所示:

if ([closeButton.titleLabel.text isEqualToString:@"Cancel"])