2016-03-22 11 views
1

Varsayılan metni, bu soruyu soran bir takım sorular var gibi görünüyor, ancak hiçbir şey benim için çalışmalarını denemedim. Basitçe, UIAlertView'u UIAlertViewStylePlainTextInput ile ancak giriş kutusu, görüntülendiğinde verilen bir dizeyle önceden yüklenmiş olarak - yer tutucu olarak değil varsayılan giriş olarak - istiyorum. Mümkün mü?UIAlertVIew'deki varsayılan metin,

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"message" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil]; 
[[alert textFieldAtIndex:0] setText:[NSString stringWithFormat:@"%@", @"preloaded string"]]; 
alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
[alert show]; 

Yukarıdaki örnek, çalışmayan setText'i kullanır. Ben de denedim:

sadece ilgiye
[[alert textFieldAtIndex:0] setPlaceholder:@"text"]; 

, ama bu yüzden belki başka bir şey eksik bile yer tutucu göstermez.

İşaretçiler var mı?

+0

önce 'alertViewStyle' belirlemeyi deneyin? – Larme

+4

UIAlertView, iOS8'den beri kullanımdan kaldırılmıştır. UIAlertController'a geçmelisiniz. Bu durumda, "UITextField * alertText1 = alertController.textFields.firstObject; [alertText1 setText @ "Varsayılan Txt"]; ' –

+0

@Larme Çalışır - teşekkürler. Cevap olarak ekle ve ben seçeceğim. – RGriffiths

cevap

0

size ya here gibi UIAlertview gibi bakmak veya ne yapmak da yapabilirsiniz UIAlertview da olduğu gibi (UIAlertController kullanmaktır SDCAlertView

gibi açık kaynak uygulamayı kullanır kendi özel "pop-up" görünümü oluşturmak gerekir 100%

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"message" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil]; 
alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
[[alert textFieldAtIndex:0] setText:[NSString stringWithFormat:@"%@", @"preloaded string"]]; 
[alert show]; 
0

IOS 8) içinde kaldırıldı Bunun yerine UIAlertController kullanın:

let alertController = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert) 
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in 
    // Configure UITextField here... 
    textField.placeholder = "Placeholder" 
} 
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (_) -> Void in 
    let textField = alertController.textFields![0] as UITextField 
    let value = textField.text ?? "Untitled" 
    /// Save value here... 
} 
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) 
alertController.addAction(okAction) 
alertController.addAction(cancelAction) 
presentViewController(alertController, animated: true, completion: nil) 
0

çalışmaktadır

UITextField *alert = alertController.textFields.firstObject; 
[alert [email protected]"YOUR ALERT TEXT HERE"]; 
0

Eğer

AlertView

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"sample" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Done", nil]; 

    [alert setAlertViewStyle: UIAlertViewStylePlainTextInput]; 
    // Alert style customization 

    [[alert textFieldAtIndex:0] setDelegate:self];  
    [[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypeNumberPad]; 
    [[alert textFieldAtIndex:0] setText:@"Richard"];   
    [[alert textFieldAtIndex:0] setPlaceholder:@"textvalue"]; 

    [alert show]; 

UIAlertController gibi bunu yapabilir

UIAlertController *alert = [UIAlertController 

           alertControllerWithTitle:@"sample" 

           message:@" " 

           preferredStyle:UIAlertControllerStyleAlert]; 



    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) 

    { 


     [textField setText:@"Richard"]; 
     textField.placeholder = NSLocalizedString(@"textvalue", @"Login"); 


    }]; 
    [alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
// do your action on ok click 

    }]]; 

    [alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 


    // do your action on cancel click 
    }]]; 

    UIViewController *viewController = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 

    if (viewController.presentedViewController && !viewController.presentedViewController.isBeingDismissed) { 

     viewController = viewController.presentedViewController; 

    } 



    NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:alert.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:viewController.view.frame.size.height*2.0f]; 

    [alert.view addConstraint:constraint]; 



    [viewController presentViewController:alert animated:YES completion:^{ 



    }]; 
İlgili konular