Bir kullanıcı, bir kullanıcı ABPeoplePickerNavigationController
'da "İptal" düğmesine bastığında (bu, kaldırılabileceğine inanıyorsa), görünüm denetleyicisinin ya da kapanmıyor veya otomatik olarak yeniden açılacak.Swift: ABPeoplePickerNavigationController'ın kapatılmasını engelle
var picker = ABPeoplePickerNavigationController()
picker.peoplePickerDelegate = self
self.presentViewController(picker, animated: true, completion: nil)
ben böyle bir şey yapmak mümkün istiyorum: Aşağıdaki Verilen örnek için
,
if (self.presentedViewController != picker && !userContinuedPastPicker) {
//where userContinuedPastPicker is a boolean set to false
//in a delegate method called when the user clicks on an a contact
//(meaning the user didn't press the cancel button but instead clicked on a contact)
//create and present a UIAlertAction informing the user they must select a contact
//present picker again
self.presentViewController(picker, animated: true, completion: nil)
}
Bu çalışmaz; Ancak, if
bildirimi, kullanıcı iptal düğmesine basana veya bir kişiye basana kadar "beklemez".
Bu neredeyse ihtiyacım olan şey gibi görünüyor! Ancak, bir "ABPPNC" veya bir "UIAlertController" örneğini sunmaya çalıştığımda (çok akıllıca önerildiğiniz gibi), bir hata mesajı alıyorum: Uyarı: sunma teşebbüsü: 0x7a06dd30> görünümü pencere hiyerarşisinde yok! ' –
Randoms
Tahmin et, kullanıcı seçiciyi ekrandan görüntülerken uyarı veriyorsunuz. Http://stackoverflow.com/questions/24034544/dispatch-after-gcd-in-swift adresinde bulunan alert için presentViewController dosyasını uyarıya sarmayı deneyin. – esthepiking