2015-05-22 9 views
0

Я пытаюсь перетащить одну радиокнопку из библиотеки объектов в какао. Но для перетаскивания доступен объект «радиогруппа». В группе радио есть два переключателя.- единственная радиокнопка, доступная в какао?

Есть ли способ создать единый переключатель в приложении для какао или скрыть одну радиокнопку из группы радиостанций?

Благодаря

ответ

2

Вы можете сделать это один, идя приписывать инспектор и установить подсчитывать ячейки 1. но вы должны справиться с поведением по своей логике.

enter image description here

+0

Откуда у вас этот снимок экрана? Я имею в виду, какой объект вы редактируете? –

+0

его объект NSMatrix (Radio Group) – Retro

+0

Иисус, почему я никогда не слышал об этом в течение года iOS. –

1

кнопка Single радио не доступен в библиотеке объектов в какао. Вы можете просто использовать обычный UIButton и давать его нормальные и выбранные изображения в Interface Builder.

В качестве альтернативы, вы можете просто использовать пользовательскую библиотеку для радио-кнопки, как это одна: https://github.com/onegray/RadioButton-ios

0

Для радио кнопки можно использовать простой UIButton и поддерживать состояние его и заменить изображение на событие щелчка.

1) Объявить по всему миру в целях

BOOL isChecked; 

2) На кнопку мыши событие

if (isChecked) 
    { 
     [_btnRadioBox setImage:[UIImage imageNamed:@"chk_uncheck.png"] forState:UIControlStateNormal]; 
    } 
    else 
    { 
     [_btnRadioBox setImage:[UIImage imageNamed:@"chk_check.png"] forState:UIControlStateNormal]; 
    } 

    isChecked=!isChecked; 

3) И получить статус этого.

if (isChecked) 
{ 
// Here write code of radio button when selected 
} 
else 
{ 
// Here write code of radio button when unselected 
} 
+0

Я думаю, что здесь слишком много кода –

+0

@ Zil, если у вас есть небольшой код, то загрузите его, я хочу его, для использования функции. –

+0

Я записывал ответ и собирался рассказать вам. Вот и все. Это 2-х линейный код и нулевые строки, если используется раскадровка. –

1

Вы должны использовать простой UIButton.

Вы можете установить разные тексты/изображения в зависимости от статуса кнопки, например Предлагается Devanshi. Однако подход if/else - это плохая идея, потому что какао уже предоставляет эти и гораздо более простые и малые.

Есть два способа: либо storyboard (если вы используете его), либо programatically, где бы вы ни создали свою кнопку (скорее всего, viewDidLoad).

Если вы используете раскадровки

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

  • Просто перейдите в состояние «по умолчанию» и установите необработанную рамку в качестве изображения.
  • (Вы можете) перейти в состояние «Выделено» и установить временное выделенное поле в качестве изображения; это не обязательно.
  • Затем перейдите в состояние «Выбрано» и установите флажок в качестве изображения. Setting 1Setting 2

И вы сделали.

Если вы используете только код

programatic способ сделать это довольно просто.

Я предполагаю, что у нас есть кнопка под названием btSend,

UIControlStateNormal, UIControlStateSelected, UIControlStateDisabled, UIControlStateHighligted, являются состояния, которые можно использовать. Я использовал отключенный и нормальный (включен) здесь.

[self.btSend setImage:[UIImage imageNamed:@"SendIcon.png"] forState:UIControlStateNormal]; 
[self.btSend setImage:[UIImage imageNamed:@"SendIconGrayed.png"] forState:UIControlStateDisabled]; 

С этим вы тоже будете работать.

После установки, что до Теперь, когда ваши кнопки знают, что показать в зависимости от их состояния, вам нужно добавить метод выбора для действия (IBAction), в которой вам нужно будет инвертировать состояние вашего текущая кнопка. Возможно, у вас уже есть это, просто добавьте логическое значение.

checkBoxSelected - это логическое значение, которое я создал как переменную экземпляра (поверх файла .m). Вы можете установить его в «NO» в viewDidLoad, если ваше радио не выбрано по умолчанию и YES, если оно выбрано по умолчанию.

@implementation TermViewController{ 

    BOOL checkBoxSelected; 
} 

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

- (IBAction)tapRadioButton:(id)sender { 
    checkBoxSelected = !checkBoxSelected; 
    [_btCheckbox setSelected:checkBoxSelected]; 
} 

Вы, наверное, есть «нечто», которое проверяет, если будет выбран флажок, чтобы знать, что вы можете получить состояние вашей кнопки, используя self.yourButton.state. Это вернет UIControlState, просто проверьте, есть ли это Normal или Selected или Disabled или HIghlighted.

Или вы можете проверить логическое значение «checkboxselected», если это ДА или НЕТ :)

Если у вас есть много кнопок радио, вы можете сохранить все эти логические значения в словаре. Например, ключ будет вашим номером вашей кнопки, и объект будет YES или NO. если вы нажмете кнопку (как показано выше), измените состояние кнопки, а также измените ее в словаре. В конце у вас есть все ваши состояния в словаре.

Я не объяснял все это в своем первом письме, потому что это не было частью вашего вопроса :) Я надеюсь, что это поможет.

+0

раскадрой не работает должным образом. –

+0

Ваша кнопка нуждается в действии, которое должно быть установлено на Selected/Normal после каждого действия (если включено, выключить, если выключено, установить) –

+0

вы говорите без кодирования, вы можете сделать это с помощью раскадровки. –

0

Вы можете использовать MVRadioButton, чтобы добавить анимированную кнопку в iOS. Это очень просто Включение и простота интеграции пользовательского элемента управления.

Его использование CoreAnimation и слоев, чтобы дать ему выглядеть и чувствовать себя точно так же, как традиционная кнопка радио, которую мы видели в Интернете.

Смежные вопросы