Настройка подсветки кнопок UIB не будет - PullRequest
0 голосов
/ 23 июня 2011

Здесь наверняка есть много вопросов по UIButton, и я надеялся найти ответ на этот вопрос, но не совсем как этот конкретный вопрос.

У меня есть несколько кнопок, и я могу вызвать button.highlighted = YES; для любой кнопки, когда программа запускается, и она подсвечивается.

Я подумал, что затем смогу использовать эту же технику, чтобы установить состояние выделения кнопки на YES после ее нажатия, а затем установить на NO после нажатия другой кнопки. Таким образом, текущий выбор остается выделенным.

Например:

-(IBAction) buttonPressed:(UIButton *)button
{
    if (button.tag==1)
    {
        self.button1.highlighted=YES;
        self.button2.highlighted=NO;
        // do other program stuff here
    }

    if (button.tag==2)
    {
        self.button2.highlighted=YES;
        self.button1.highlighted=NO;
        // do other program stuff here
    }
}

Несмотря на то, что подсветка работает нормально, если я помещаю код highlighted = YES; в viewDidLoad. Но приведенный выше код не работает. Основной момент не прилипает. Кнопки работают, и делают другие вещи, которые нужно сделать, но основные моменты не прилипают.

Я думаю, это должно быть довольно просто. IOS каким-либо образом автоматически устанавливает все подсветки кнопок на NO самостоятельно после любой операции с кнопкой?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2012

Вы можете попробовать использовать свойство selected, а не выделенное свойство.

0 голосов
/ 23 июня 2011

Возможно, вам следует использовать другие средства для представления статуса выделения из-за заявления из документации UIControl:

По умолчанию элемент управления не выделен.UIControl автоматически устанавливает и очищает это состояние автоматически, когда касание входит и выходит во время отслеживания и при касании.

...