0

switch ステートメントでテキスト ラベルを変更する2 つUIButtonsがあります (テスト目的で最初のケースのみを実行しました)。

switch (_itemNumber)
{
    case 0:
        [_phoneButton setTitle:@"201-612-5480" forState:UIControlStateNormal];
        [_emailButton setTitle:@"aacenter@bergen.edu" forState:UIControlStateNormal];
        self.title = @"Acdmc. Adv. Center";
        break;

    default:
        break;
}

したがって、UIButtonが押されると、アクションが実行されます。

- (IBAction)phoneButtonAction:(id)sender {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",_emailButton.titleLabel.text]]];
}

- (IBAction)emailButtonAction:(id)sender {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];
}

テキスト ラベルの変更は機能しますが、アクションは機能しません。それぞれにアウトレットやアクションしか持てないからですUIButtonか?もしそうなら、どうすれば目的のアクションを実行できますか?

4

1 に答える 1

0

およびURL スキームはmailto:tel:シミュレーターでは機能しません。デバイスのみ。

前:

UIButtons にアクションを追加しましたか?

[_phoneButton addTarget:self
                 action:@selector(phoneButtonAction:)
       forControlEvents:UIControlEventTouchUpInside];
[_phoneButton addTarget:self
                 action:@selector(emailButtonAction:)
       forControlEvents:UIControlEventTouchUpInside];
于 2013-01-06T20:17:07.880 に答える