Как пройти UIAction, не касаясь UIButton

У меня есть UIButton, который действует как переключатель. Когда пользователь нажимает на него, его состояние меняется на «выбрано» и вызывается действие «один». Когда пользователь нажимает снова, состояние UIButton меняется на «не выбрано», и действие больше не доступно.

Есть ли способ установить для UIButton значение «selected», нажав на совершенно другой UIButton, и изменить его на «selected», а также вызвать то же действие?

Ваше здоровье


person George Asda    schedule 06.06.2013    source источник
comment
пожалуйста, дайте четкое описание вашего вопроса   -  person Kasaname    schedule 06.06.2013
comment
Вы имеете в виду, что хотите вызвать один и тот же метод для двух разных нажатий кнопок. Правильно?   -  person Dilip    schedule 06.06.2013
comment
Итак, вы хотите иметь поддельное событие касания, как здесь: как программно подделать событие касания для UIButton?   -  person Adil Soomro    schedule 06.06.2013
comment
Спасибо, Адиль. Это то, что я искал, помогло мне.   -  person George Asda    schedule 07.06.2013


Ответы (6)


Из того, что я понял из вопроса, я хотел бы дать вам свое предложение

if (!<your_button>.selected)
{
    <your_button>.selected = YES;
    // do your stuff here
}
else
{
    <your_button>.selected = NO;
    // do your stuff here, in your case action should be no longer available so that,
    <your_button>.userInteractionEnabled = NO;
}

Наслаждайтесь программированием!

person Niru Mukund Shah    schedule 06.06.2013

попробуй вот так,

 -(IBAction)nextbutton:(id)sender{
    UIButton *btn=(UIButton *)[self.view viewWithTag:tagValue];//pass tag value of that particuler button
    btn.selected=YES;
    //do whatevr you want.

    }
person Community    schedule 06.06.2013

простая вещь, когда вы нажимаете на uibutton, выполняете действие для этого, и в действии для этой кнопки вы можете установить состояние кнопки как выбранное, а затем в следующей строке кода вы можете вызвать этот метод (действие)

- (IBAction)btn1Touched:(id)sender {
    [_btn2 setSelected:YES];
    [self btn2Touched:self];
}
- (IBAction)btn2Touched:(id)sender {

    NSLog(@"btn Action called");
}
person Kasaname    schedule 06.06.2013

UIbutton имеет состояние selected и управляется через свойство selected.

чтобы сделать кнопку в выбранном состоянии

[buttonInstance setSelected:YES];

Чтобы сделать его невыделенным, используйте

[buttonInstance setSelected:NO];
person Lithu T.V    schedule 06.06.2013

Пожалуйста, напишите функцию для этого действия кнопки, например,

-(void)Buttonaction

{

do your action here

  also set your button has selected state.

  buttonname.setselected=yes;

}

вызовите эту функцию, пока вы нажимаете кнопку табуляции.

person maddysan    schedule 06.06.2013

Сделай это:

-(IBAction)switchButtonClicked:(UIButton*)sender
{

    if(sender.isSelected)
      {
        .....
      }
    else
      {
        ...
      }
    [sender setSelected:!sender.isSelected];//This will work as Switch.
}

установите свойство Selected(Switch ON) и default(Switch OFF) (изображение и заголовок) UIButton из XIB, ИЛИ из кода, как хотите. С помощью одной кнопки вы можете выполнять свои функции с помощью этого кода

person Prateek Prem    schedule 06.06.2013