Xcode: сделать клик по ярлыку

Я создал раскадровку, содержащую несколько больших кнопок. По определенной причине я должен поместить еще одну меньшую кнопку и метку над каждой большой кнопкой. Я хотел бы сделать так, чтобы меньшая кнопка и метка не получали событие клика, а большая кнопка получала.

Искал способ сделать ярлык и маленькую кнопку кликабельными, но так и не нашел. И в качестве второго требования, я бы очень хотел бы сделать так, чтобы фоновое изображение большой кнопки стало темным + фоновое изображение маленькой кнопки стало темным, а метка вообще не реагировала.


person tmighty    schedule 19.11.2012    source источник
comment
при нажатии на метку или маленькую кнопку вы не хотите, чтобы выполнялось какое-либо действие? или вызывается метод действия большой кнопки?   -  person Pratyusha Terli    schedule 19.11.2012


Ответы (2)


Просто установите 1) Большая кнопка 2) Метка и 3) Маленькая кнопка в xib. Затем поместите действие кнопки в оба. Оно должно работать.

- (IBAction)bigButton:(id)sender {
// do nothing
}

- (IBAction)smallButton:(id)sender {
[self.bigButton setHighlighted:YES];
}
person Susim Samanta    schedule 19.11.2012
comment
Если вы нажмете маленькую кнопку, она перехватит событие, а большая кнопка его не получит. - person zoul; 19.11.2012
comment
@Zoul ошибается. Пожалуйста, ознакомьтесь с прикрепленным примером. /а> - person Susim Samanta; 19.11.2012
comment
Ваш пример проекта делает именно то, что я сказал: когда я нажимаю маленькую кнопку, она выделяется, а затем запускает собственное действие. В то время как постер хочет, чтобы обе кнопки выделялись и вызывали действие большой кнопки. - person zoul; 19.11.2012
comment
Затем @zoul установите фоновое изображение обеих кнопок в соответствии с требованиями. - person Susim Samanta; 19.11.2012
comment
zoul, вы прекрасно обобщили это! - person tmighty; 19.11.2012
comment
Сан, у меня нет разных фоновых картинок для каждого состояния. Я использую встроенную функцию подсветки. - person tmighty; 19.11.2012

-(IBAction)"your small button action":(id)sender{
     [self "your big button action":nil];
}


-(IBAction)"your big button action":(id)sender{
    //setbackgroundimage for your small button here
}

Метка все равно не будет реагировать на событие клика. Так что это может сработать. Попробуйте.

person Pratyusha Terli    schedule 19.11.2012
comment
В общем, это действительно здорово, но как мне сделать так, чтобы фоновое изображение моей маленькой кнопки становилось темным, когда я нажимаю большую кнопку? - person tmighty; 19.11.2012
comment
Спасибо, но я не использую другое фоновое изображение, я просто использую встроенную темноту, которая появляется, когда вы щелкаете изображение. Надеюсь, вы понимаете, что я имею в виду? - person tmighty; 19.11.2012