Реализация кнопки переключения iPhone - PullRequest
13 голосов
/ 22 августа 2009

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

Я рассматриваю два варианта.

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

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

Как вы думаете, что является лучшим? Или вы знаете лучший способ? (Может быть, есть открытый / бесплатный вид в Интернете?)

РЕДАКТИРОВАТЬ: Я не хочу использовать переключатель UIS, потому что я хочу, чтобы моя кнопка переключения была похожа на это. Я хочу, чтобы это была большая прямоугольная кнопка и изменил фон, чтобы указать состояние.

Спасибо!

Ответы [ 7 ]

13 голосов
/ 22 апреля 2011
-(IBAction)toggle{
    if (button.selected == NO) {
        button.selected = YES;

    }
    else {
        button.selected = NO;
    }
}

или

-(IBAction)toggle:(UIButton*)sender
{
sender.selected = !sender.selected;
}

простой чувак

4 голосов
/ 22 августа 2009

Вы можете использовать UIButton и установить его enabled свойство.

В Интерфейсном Разработчике вы можете установить отдельные изображения для включенного и отключенного состояний, а IBAction изменить свойство.

2 голосов
/ 11 января 2011

Просто создайте метод (IBAction), а также BOOL. Установите BOOL по умолчанию на FALSE. Ваш IBAction должен выглядеть так:

- (IBAction) .... {

    if (bool) {
        // do your things
    }

    else {
        // do your things
    }

    bool =! bool
}

Это работает для меня!

0 голосов
/ 19 февраля 2010

Мне тоже нужно это сделать. Разве установка состояния «включено» в положение «НЕТ» не помешает переключению кнопки назад?

UPDATE

Люди предлагают UISwitch, но может ли он быть связан со всеми соответствующими состояниями up, over, disabled, selectedUp, SelectedOver, selectedDisabled?

0 голосов
/ 14 сентября 2009

Я тоже посмотрел на UISwitch, но в моем случае я не хочу кнопку включения / выключения, я действительно хочу кнопку переключения. То, что я пытаюсь сделать, опять же в моем случае, это иметь блок кнопок, которые выглядят как UISegmentedControl, но где пользователь может «переключать» более одной кнопки на элементе управления одновременно. Проблема, которую я пытаюсь решить, заключается в том, что у меня ОЧЕНЬ ограниченное восстановление экрана и много переключателей, чтобы попасть на экран.

Мой запасной вариант, вероятно, будет UITableView, полным переключаемых ячеек. Таким образом, я могу добавить столько переключателей, сколько захочу в фиксированной прокручиваемой области экрана.

К сожалению, UISwitch не всегда соответствует спецификациям пользовательского интерфейса, которые имеют в виду люди, поэтому я полагаю, что джентльмен, разместивший оригинальное сообщение, тоже не искал переключателя включения / выключения, а скорее хотел кнопку, которая каким-то образом изменила свое состояние .

0 голосов
/ 22 августа 2009

Может быть, я не правильно понял вопрос .. почему вы не используете UISwitch

0 голосов
/ 22 августа 2009

Там уже нет кнопки переключения или я что-то здесь упускаю?

РЕДАКТИРОВАТЬ: Как уже говорили другие, он называется UISwitch, и он включает и выключает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...