Какой простой способ получить всплывающее диалоговое окно ввода текста с помощью средства выбора действий на iPhone - PullRequest
0 голосов
/ 29 июня 2018

enter image description here

хотите получить входные данные из pickerView в textField при отображении оповещения Цель C

1 Ответ

0 голосов
/ 29 июня 2018

ПРИМЕЧАНИЕ : при открытии таблицы действий из окна просмотра предупреждений сначала закрывается ваше представление предупреждения, а затем открывается список действий. Мой код может помочь вам в открытии таблицы действий из просмотра предупреждения

#import "ViewController.h"

@interface ViewController ()<UITextFieldDelegate,UIActionSheetDelegate>
{
    NSString *alertSelectValue;
    UITextField * alertTextField;
}
@end

@implementation ViewController

- (void)viewDidLoad {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Hello!" message:@"Please enter your name:" delegate:self cancelButtonTitle:@"Continue" otherButtonTitles:nil];
     alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    UITextField * alertTextField = [alert textFieldAtIndex:0];
    alertTextField.tag=101;
    alertTextField.delegate=self;
    alertTextField.keyboardType = UIKeyboardTypeNumberPad; alertTextField.placeholder = @"Enter your name";
    [alert show];



    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    if (textField.tag==101)
    {
        [textField setUserInteractionEnabled:YES];
        [textField resignFirstResponder];
        NSString*String = [NSString stringWithFormat:@"%@",textField.text];
        [self openSheet:String];
    }

}

-(void)openSheet:(NSString*)text
{

    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select" delegate:self cancelButtonTitle:@"OK" destructiveButtonTitle:nil otherButtonTitles:text,@"Test" ,nil];
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
   UIViewController *topvc=[self topMostController];
    [actionSheet showInView:topvc.view];

}


//-------- Get top Most view to -----
- (UIViewController*) topMostController
{
    UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;

    while (topController.presentedViewController) {
        topController = topController.presentedViewController;
    }

    return topController;
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{

    NSLog(@"Index = %d - Title = %@", buttonIndex, [actionSheet buttonTitleAtIndex:buttonIndex]);

    if(buttonIndex == 0)
    {
        alertTextField.text= [actionSheet buttonTitleAtIndex:buttonIndex];

    }
}



- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...