Панель инструментов с изменяемым размером и кнопкой панели на UIDate Picker

Я использовал средство выбора даты вместо клавиатуры. И кнопка панели пользовательского интерфейса с ОК, отменой и гибким пространством. Но он не реагирует, когда я меняю режим «Портрет» на «Пейзаж».

Панель инструментов: -

UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
    toolbar.barStyle=UIBarStyleBlackTranslucent;


    cancelBtn=[[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:nil];
    flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    doneBtn = [[UIBarButtonItem alloc]initWithTitle:@"OK"style:UIBarButtonItemStyleDone target:self action:nil];

    [toolbar setItems:[NSArray arrayWithObjects:cancelBtn,flexible,doneBtn,nil]];


     [toolbar sizeToFit];
    _txt_dob.inputAccessoryView=datePicker;

Выбор UIDate: -

datePicker = [[UIDatePicker alloc] init];
    datePicker.datePickerMode = UIDatePickerModeDate;
    [_txt_dob setInputView:datePicker];
    [datePicker addSubview:toolbar];

Портретный режим

Ландшафтный режим симулятора. Ландшафтный режим


person Smit Saraiya    schedule 17.02.2016    source источник
comment
Вы использовали авторазметку?   -  person Er.Shreyansh Shah    schedule 17.02.2016
comment
установить рамку панели инструментов в виде viewWillLayoutSubviews()   -  person EI Captain v2.0    schedule 17.02.2016
comment
@Er.ShreyanshShah Ширина панели инструментов равна self.view.frame.size.width.   -  person Smit Saraiya    schedule 17.02.2016


Ответы (1)


Не инициализируйте UIToolBar с помощью фрейма. Вместо этого используйте NSLayoutConstraint между вашим UIToolBar и его родительским представлением, чтобы растянуть его полностью. Таким образом, он будет хорошо реагировать на изменения ориентации.

person dorian    schedule 17.02.2016