使用按钮更改UILabel

时间:2013-07-11 01:58:36

标签: uiviewcontroller delegates popover

所以,我有这个popover,可以被四个viewcontrollers激活。 在这个popover中,我点击一个按钮,这个按钮改变了一个UILabel,它在viewcontroller中激活了popover。

但是,问题是:取决于哪个viewcontroller激活popover,文本是不同的。

我的问题:如何设置一个if子句以了解哪个viewcontroller激活了popover?

以下是更改UILabel的代码,我必须在其中实现if子句:

- (void) escolheu1:(id)sender {
    [delegate menuController:self 
         hasPressedSomething:
            [NSString stringWithFormat:@"They are panels composed by odd numbers of layers, which are crossed with each other in order to obtain more strength."]];
}

我想我必须使用isKindOfClass方法,也许不是,我不知道。

请你们帮帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

嗯,您有一个“sender”参数发送到您的“escolheu1:”方法(当我们讨论这个主题时,您应该将其声明为“(IBAction)} “而不是”(void)“)。

使用该sender参数,您可以确定哪个按钮(在四个视图控制器中的每一个中)都向您发送了该消息。

执行此操作的一种方法是通过为故事板中的每个视图控制器中的按钮设置“tag”值,然后您可以轻松确定调用此方法的按钮,如下所示:

- (IBAction) escolheu1:(id)sender {
   UIButton * theButton = (UIButton *) sender;
   NSLog( @"which button has this tag? --> %d", theButton.tag );
   ....
   ....
   ....
}