2015-04-20 44 views
0

我正在構建待辦事宜應用程序,用戶可以在其中選擇提醒選項。如果啓用提醒,則啓用UIDatePicker。我用故事板創建了主界面。所以,我最初的UI是這樣UIDatePicker重新定位到視圖底部

enter image description here

但禁用和啓用再次提醒開關後,在日期選擇器放置在視圖的頂部。我需要將它放在視圖的底部。

enter image description here

我的視圖控制器代碼是這樣的

- (IBAction)isReminderSelected:(UISwitch *)sender { 
    if([_reminderSetField isOn]){ 
    [_reminderSetField.viewForBaselineLayout addSubview: _reminderDatePicker]; 
} 
else { 
    [_reminderDatePicker removeFromSuperview];} 
} 

我通過故事板創建主UI。然後初始化在頭文件中的日期選擇器....

我的* .h文件

@property (strong, nonatomic) IBOutlet UISwitch *reminderSetField; 
    @property (strong, nonatomic) IBOutlet UIDatePicker *reminderDatePicker; 
    - (IBAction)isReminderSelected:(UISwitch *)sender; 
+1

你對日期選擇器有什麼約束? – rdelmar

+0

我沒有任何約束。 – Reza

+0

您可以請上傳我們不明白的日期選擇器的設置代碼從這段代碼片段 –

回答

1

您應該設置選擇器視圖的y位置像

float y = [UIScreen mainScreen].bounds.size.height - _reminderDatePicker.frame.size.height; 

[_reminderDatePicker setFrame:CGRectMake(0, y, _reminderDatePicker.frame.size.width, _reminderDatePicker.frame.size.height)]; 
+0

不工作。我仍然可以在同一個地方獲得DatePicked。 – Reza

0

我想你應該嘗試像這樣

- (IBAction)isReminderSelected:(UISwitch *)sender { 
    if([_reminderSetField isOn]){ 
     float y = [UIScreen mainScreen].bounds.size.height - _reminderDatePicker.frame.size.height; 

     [_reminderDatePicker setFrame:CGRectMake(0, y, _reminderDatePicker.frame.size.width, _reminderDatePicker.frame.size.height)]; 
[yourView addSubView:_reminderDatePicker]; 
} 
else { 
     [_reminderDatePicker removeFromSuperview];} 
}