2013-10-08 2 views
0

Добрый вечер,пользовательского UIView позиций размера и IBAction

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

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

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

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

ответ

1

Вы можете следовать за переменной 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"); 
} 
+0

Благодарим вас за ответ, возможно ли это сделать, используя файл nib? и .h и .m файлы? Я имею в виду: создать представление в виде наконечника и установить всю логику в управляющем классе? – moujib

0

1) В файле XIb вам нужно перетащить 2 кнопки и установите его тип в обычае.

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

3) Затем вам необходимо изменить состояние кнопки на нормальный/по умолчанию и установить изображение на checked.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]; 
} 
} 

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

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

Update

6) Теперь вы можете установить выходы каждой кнопки флажок в Interface Builder по этой ссылке: Setting Outlets.

7) В методе кнопки отправки вы можете проверить, не установлены ли кнопки, используя следующий код. Предположим, что ваш флажок UIButton Ивар имя 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 
} 

} 

DONE !! Удачи ..

+0

Благодарим вас за ответ, но как сделать это представление и установить его положение над моим viewController? – moujib

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