2015-08-27 19 views
5

'da düğmelerin sırasını seçmek mümkün değil. Normal eylem yıkıcı bir eylemse ve diğeri UIAlertController'ında bir yok etme eyleminin yıkıcı olanın solda olması gerektiği ve iptalin açık olması gerektiği izlenimi altındaydım doğru.UIAlertController

Eğer normal eylem yıkıcı değilse, normal eylem sağda olmalı ve iptal işlemi solda olmalıdır. sözü

, şu var:

var confirmLeaveAlert = UIAlertController(title: "Leave", message: "Are you sure you want to leave?", preferredStyle: .Alert) 

let leaveAction = UIAlertAction(title: "Leave", style: .Destructive, handler: { 
     (alert: UIAlertAction!) in 

     //Handle leave 

    } 
) 

let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) 

confirmLeaveAlert.addAction(leaveAction) 
confirmLeaveAlert.addAction(cancelAction) 

self.presentViewController(confirmLeaveAlert, animated: true, completion: nil) 

Ben izlenim altında olduğunu ben solda leaveAction, sonra cancelAction o leaveAction olacağını düğmesini eklerseniz. Bu durum böyle değildi. Düğmeleri ters sırada da eklemeyi denedim ve düğmelerin aynı sırada eklenmesiyle sonuçlandı.

Yanlış mıyım? Bunu başarmanın yolu yok mu?

cevap

5

Buradaki çözümüm, cancelAction için .Cancel yerine .Default stilini kullanmaktı.

+0

Bu doğru. Görünüşe göre iOS, önce semantik düğmelerini iptal etmeyi seviyor. – MattD

İlgili konular