2016-06-16 12 views
0

Так что я недавно сделал приложение для iOS 6, которое читает PDF. Он отлично работал на моем iPhone 3GS, однако, когда я перекомпилировал его для iOS 8 в более новой версии Xcode (первоначально использующей 4.5, теперь использующей 6.01), текстовое поле для ввода имени PDF, которое вы хотели загрузить, больше не отображается там, где оно должен.UITextField не отображается в iOS8

Поле Текст, о котором идет речь, появилось внутри окна предупреждения, когда пользователь нажал кнопку «открыто».

Heres код для него, который работал в IOS 6

alert = [[UIAlertView alloc]initWithTitle:@"Please enter a valid PDF name below:" message:@"(Please add .PDF on the end!) \n \n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"ok", nil]; 
    textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)]; 
    [textField setBackgroundColor:[UIColor whiteColor]]; 
    textField.delegate = nil; 
    textField.borderStyle = UITextBorderStyleRoundedRect; 
    textField.placeholder = @"PDF name"; 
    textField.tintColor = [UIColor colorWithRed:98.0/255.0f green:98.0/255.0f blue:98.0/255.0f alpha:1.0]; 
    textField.keyboardAppearance = UIKeyboardAppearanceAlert; //set up an alert box with a text feild 
    [textField becomeFirstResponder]; 
    [alert addSubview:textField]; 
    [alert show]; 
    [alert release]; 
+0

В вашем случае необходимо установить alert.alertViewStyle = UIAlertViewStylePlainTextInput; Это добавит вам текстовое поле. Вы можете получить к нему доступ в обратном вызове делегата UIAlertView, используя UITextField * textField = [alertView textFieldAtIndex: 0] ;. –

ответ

0

Try следующий код !!

UIAlertController * alertView= [UIAlertController 
             alertControllerWithTitle:@"Please enter a valid PDF name below:" 
             message:@"Please add .PDF on the end!" 
             preferredStyle:UIAlertControllerStyleAlert]; 

    [alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) { 
     textField.placeholder = @"PDF name"; 

    }]; 

    UIAlertAction* yesButton = [UIAlertAction 
           actionWithTitle:@"Ok" 
           style:UIAlertActionStyleDefault 
           handler:^(UIAlertAction * action) 
           { 
            //Handel your yes please button action here 
            UITextField *textField = alertView.textFields[0]; 
            NSString *pdfName = textField.text; 
            NSLog(@"PDF Name: %@",pdfName); 
            [alertView dismissViewControllerAnimated:YES completion:nil]; 


           }]; 
    UIAlertAction* noButton = [UIAlertAction 
           actionWithTitle:@"Cancel" 
           style:UIAlertActionStyleDefault 
           handler:^(UIAlertAction * action) 
           { 
            //Handel no, thanks button 
            [alertView dismissViewControllerAnimated:YES completion:nil]; 
           }]; 

    [alertView addAction:yesButton]; 
    [alertView addAction:noButton]; 
    [self presentViewController:alertView animated:YES completion:nil]; 
+0

Отлично работает, большое вам спасибо. – Jobalisk

+0

Добро пожаловать. Если ответ полезен для вас, дайте большие пальцы вверх ... –