iOS 的輸入框,是使用 UIAlertController。
一個簡單的對話框例子
您可以比較一下兩種不同的創建對話框的代碼,創建基礎UIAlertController的代碼和創建UIAlertView的代碼非常相似:
Objective-C版本:
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"標題" message:@"這個是UIAlertController的默認樣式" preferredStyle:UIAlertControllerStyleAlert];
swift版本:
var alertController = UIAlertController(title: "標題", message: "這個是UIAlertController的默認樣式", preferredStyle: UIAlertControllerStyle.Alert)
同創建UIAlertView相比,我們無需指定代理,也無需在初始化過程中指定按鈕。不過要特別注意第三個參數,要確定您選擇的是對話框樣式還是上拉菜單樣式。
How to add text input in alertview of ios 8?
http://stackoverflow.com/questions/33996443/how-to-add-text-input-in-alertview-of-ios-8

 UIAlertController * alertController = [UIAlertController alertControllerWithTitle: @"Login"
                                                                                  message: @"Input username and password"
                                                                              preferredStyle:UIAlertControllerStyleAlert];
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"name";
        textField.textColor = [UIColor blueColor];
        textField.clearButtonMode = UITextFieldViewModeWhileEditing;
        textField.borderStyle = UITextBorderStyleRoundedRect;
    }];
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"password";
        textField.textColor = [UIColor blueColor];
        textField.clearButtonMode = UITextFieldViewModeWhileEditing;
        textField.borderStyle = UITextBorderStyleRoundedRect;
        textField.secureTextEntry = YES;
    }];
    [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        NSArray * textfields = alertController.textFields;
        UITextField * namefield = textfields[0];
        UITextField * passwordfiled = textfields[1];
        NSLog(@"%@:%@",namefield.text,passwordfiled.text);
    }]];
    [self presentViewController:alertController animated:YES completion:nil];
看要增加幾個選項按鈕都可以,而且都是用Block來做後續處理
範例:
 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"修改暱稱"
 message:@""
 preferredStyle:UIAlertControllerStyleAlert];
 [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
 // optionally configure the text field
 textField.keyboardType = UIKeyboardTypeDefault;
 }];
 
 UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"送出"
 style:UIAlertActionStyleDefault
 handler:^(UIAlertAction *action) {
 UITextField *textField = [alert.textFields firstObject];
 
 }];
 [alert addAction:okAction];
 
 UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
 
 }];
 [alert addAction:cancelAction];
 
 [self presentViewController:alert animated:YES completion:nil];
UIAlertController Example in iOS
http://hayageek.com/uialertcontroller-example-ios/
UIAlertController Changes in iOS 8
https://useyourloaf.com/blog/uialertcontroller-changes-in-ios-8/
Swift 範例:
https://www.simplifiedios.net/ios-dialog-box-with-input/
Apple 官方文件:
UIAlertController
https://developer.apple.com/reference/uikit/uialertcontroller