Пользовательский размер UIView и IBaction

Добрый вечер,

Я работаю над приложением, которое должно показывать (при нажатии кнопки) пользовательский контейнер в точном положении и размере по сравнению с моим ViewController.

Этот контейнер будет загружать 2 флажка (я знаю, что могу использовать UISwitchControl и изменять 2 состояния с помощью PNG) и кнопку "Отправить" .

Я новичок в разработке для iOS, пожалуйста, помогите мне создать этот макет (см. Вложение) и как проверить, какие флажки отмечены при нажатии кнопки отправки, пример кода очень важен.Просмотр для создания

Спасибо вам всем.

2 ответа

Вы можете следовать BOOL переменная. Когда вы нажимаете на Item1, это должно быть ДА, а когда вы нажимаете на Item2, это должно быть НЕТ. Код сопровождается,

BOOL item1ORitem2 = YES;
UIView *containerView = [[UIView alloc] init];
[containerView setFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:containerView];

UIButton *item1btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item1btn setFrame:CGRectMake(10, 20, 50, 30)];
[item1btn addTarget:self action:@selector(item1btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item1btn];

UIButton *item2btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item2btn setFrame:CGRectMake(10, 60, 50, 30)];
[item2btn addTarget:self action:@selector(item2btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item2btn];

UIButton *submitBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[submitBtn setFrame:CGRectMake(10, 60, 50, 30)];
[submitBtn addTarget:self action:@selector(submitBtnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:submitBtn];

методы,

-(void)item1btnAction
{
    item1ORitem2 = YES;
}
-(void)item2btnAction
{
    item1ORitem2 = NO;
}
-(void)submitBtnAction
{
    NSLog(@"item1ORitem2");
}

1) В вашем XIB-файле вам нужно перетащить 2 кнопки и установить его тип на пользовательский.

2) Вы должны иметь 2 изображения, отмеченные и не отмеченные флажками.

3) Затем вам нужно изменить состояние кнопки на нормальное / по умолчанию и установить для изображения значение check.png (или любое другое имя изображения).

4) Затем измените состояние на выбранное и установите для изображения значение unchecked.png (или как бы оно ни называлось в поле "изображение без флажка").

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

5) Вы можете сохранить метод для обеих кнопок отдельно, например:

-(IBAction)button1Pressed:(id)sender {
UIButton *btn = (UIButton *)sender;
if (btn.isSelected) {
    [btn setSelected:NO];
}
else {
    [btn setSelected:YES];
}
}

Это переключит состояние кнопки при нажатии.

Вы можете вызвать этот же метод на обе кнопки.

Обновить

6) Теперь вы можете установить выходы каждой кнопки-флажка в Интерфейсном Разработчике, используя эту ссылку: Настройка выходов.

7) В методе кнопки отправки вы можете проверить, проверены ли кнопки или нет, используя следующий код. Предположим, что ваш флажок uibutton ivar - имя check1 & check2

-(IBAction)submitPressed:(id)sender {
if (check1.isSelected) {
    //Check button is unchecked
}
else {
    //Check button is checked
}

if (check2.isSelected) {
    //Check button is unchecked
}
else {
    //Check button is checked
}

}

СДЕЛАННЫЙ!! Удачи..

Другие вопросы по тегам