Я пытаюсь создать меню с помощью UIButton, и я просто хочу иметь возможность выбрать только одну кнопку за раз.Ведьма означает, что когда я выбираю кнопку, она автоматически отменяет выбор другой.Но это странно, и я не понимаю, почему.
Когда я выбираю кнопку в меню, она становится красной, а когда я выбираю другую, они обе красные, но мне нужно нажать 2 раза на кулаккнопка, чтобы поставить его черным, и это то же самое для второй кнопки.Проблема в том, что когда я нажимаю на вторую кнопку, первая должна стала черной, а не оставаться красной.
Эта функция вызывается при нажатии кнопки с помощью addTarget.
- (void)putInSelectedMode:(id)sender {
NSLog(@"[%d] %s => %s", __LINE__, __FUNCTION__, __FILE__);
if ([sender isKindOfClass:[UIButton class]]) {
sender = (UIButton*)sender;
if ([sender isSelected])
{
[sender setSelected:NO];
[[sender layer] setShadowColor:[[UIColor clearColor] CGColor]];
[[sender layer] setBorderWidth:0.0f];
}
else {
UIButton *btn = nil;
NSArray *subviews = [self subviews];
for (btn in subviews) {
if ([btn isKindOfClass:[UIButton class]]) {
[btn setSelected:NO];
}
}
[[sender layer] setBorderWidth:5.0f];
[[sender layer] setBorderColor:[[UIColor redColor] CGColor]];
[[sender layer] setOpaque:NO];
[sender setSelected:YES];
}
}
}