2017-08-08 50 views
2

我有一個自定義警報視圖控制器來從日期選擇器中選擇日期,但我很困惑,我怎麼能在警報視圖控制器中添加兩個按鈕和當用戶單擊按鈕比它顯示警報視圖控制器中的日期選擇器,以及如何更改警報視圖控制器的顏色。我的代碼,自定義警報視圖控制器在IOS中選擇日期

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet]; 
UIDatePicker *picker = [[UIDatePicker alloc] init]; 
[picker setDatePickerMode:UIDatePickerModeDate]; 
[alertController.view addSubview:picker]; 
[alertController addAction:({ 
    UIAlertAction *action = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
     NSLog(@"OK"); 
     NSLog(@"%@",picker.date); 
    }]; 
    action; 
})]; 
UIPopoverPresentationController *popoverController = alertController.popoverPresentationController; 
popoverController.sourceView = sender; 
popoverController.sourceRect = [sender bounds]; 
[self presentViewController:alertController animated:YES completion:nil]; 

它看起來像這樣, enter image description here

+0

如果你看看docs for UIAlertViewController https://developer.apple.com/documentation/uikit/uialertcontroller你會發現你真的不應該對它的視圖層次結構進行討論。你只是在爲自己排憂解難。 – Abizern

回答

0

如果我記得很清楚這個問題,因爲已經問過一段時間,每次得到的答覆是「你應該創建一個視圖控制器,並使用它作爲警告」,看見你需要做的我也認爲這是一個更好的辦法,+你可以讓你的控制器看起來像一個警報添加陰影什麼...

看到這個答案:How to add date picker to UIAlertController(UIAlertView) in Swift?

+0

我正在工作在目標c –

+0

@HamzaImran這將是正確的方法,即使你在obj c工作。在alertview中添加太多的組件會讓它變得糟糕。 – Rishabh

+0

我可以在目標c中獲得嗎? @Rishabh –