Как выделить кнопку, пока в iphone не изменится следующий вид? - PullRequest
1 голос
/ 19 апреля 2010

Я создал пять кнопок в контроллере вида. Если я нажал кнопку, он перейдет к соответствующему виду. Теперь я хочу отобразить кнопку в выделенном состоянии, когда она нажата. Он должен вернуться в нормальное состояние только тогда, когда я нажму на другую кнопку. Я установил другое изображение для кнопок с высокой яркостью, когда щелкнул по нему, но оно показывает, что выделенное состояние только одну секунду. Теперь я хочу отображать выделенные кнопки, пока не нажата другая кнопка. То же, что и операции с вкладками. (Я использовал кнопки вместо вкладок для требований).

Теперь я использовал следующий код,

void didLoad
{

    [btn1 setImage:[UIImage imageNamed:@"ContentColor.png"]  forState:UIControlStateHighlighted];
    [btn2 setImage:[UIImage imageNamed:@"bColor.png"] forState:UIControlStateHighlighted];
    [btn3 setImage:[UIImage imageNamed:@"ShColor.png"] forState:UIControlStateHighlighted];
    [btn4 setImage:[UIImage imageNamed:@"PicturesColor.png"] forState:UIControlStateHighlighted];
    [btn5 setImage:[UIImage imageNamed:@"infoColor.png"] forState:UIControlStateHighlighted];
}

Пожалуйста, помогите мне.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 19 апреля 2010

Вы должны манипулировать изображением для выбранного состояния, а не для выделенного состояния.Выделение будет отменено при касании или касании снаружи, как вы уже видели, тогда как выбранное постоянно.

1 голос
/ 20 апреля 2010

Похоже, вы должны использовать UISegmentedControl с 5 сегментами вместо 5 кнопок. Он ведет себя таким образом, сегмент остается выделенным, пока вы не выберете другой (если вы не установите мгновенное свойство).

1 голос
/ 19 апреля 2010

Простое решение будет ...

при каждом нажатии любой кнопки меняйте ее изображение (для нормального состояния) на выделенное изображение для этой конкретной кнопки и устанавливайте для изображения других 4 кнопок обычное изображение ...

...