Неисправная кнопка вызывает звонок перед нажатием - PullRequest
1 голос
/ 24 мая 2011

Код работает, но приложение вызывает строку без нажатия кнопки. Как только я попадаю на определенную страницу приложения, оно обходит все (другие кнопки, представления карты и т. Д.) И делает звонок ...

Код, который я использую:

   - (void)loadNo2 {
        UIButton *no2 = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [no2 setTitle:@"2108642700" forState:UIControlStateNormal];
        [no2 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [no2 setBackgroundColor:[UIColor blackColor]];
        [no2 setFrame:CGRectMake(84, 260, 152, 31)];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
        [self addSubview:no2];
    }

Что с ним не так ???

Ответы [ 2 ]

3 голосов
/ 24 мая 2011

Эта строка вызывает диалоговое окно для набора

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];

Вы не добавили его как действие кнопки - вы просто вызываете его.

Замените эту строку этой:

  [no2 addTarget:self 
          action:@selector(onNo2Touch) 
forControlEvents:UIControlEventTouchUpInside];

И добавить это:

-(void) onNo2Touch:(id) sender {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
}
0 голосов
/ 24 мая 2011

Похоже, вы вызвали openURL из метода, который создает кнопку.Вы должны поместить вызов в UIApplication sharedApp ... (т.е.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];) внутри метода, вызываемого из действия (которое отображается на кнопку).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...