2014-10-03 18 views
5

Sorunum gayet basit ama etrafında bir yol bulamıyorum. Bir düğmeye basıldığında iki seçenekli bir UIActionSheet (kütüphane/kamera) sunar. Kullanıcılar UIActionSheet üzerinde bir düğmeye bastığında, fotoğraf kitaplığına sahip bir UIPopoverController sunarım veya kamerayı moda olarak sunarım. Uygun bir çözüm üzerindeBir UIPPover'ı bir UIActionSheet'den sunma

Warning: Attempt to present <UIImagePickerController: 0x17ae1600> on <MyViewController: 0x17a3ca00> which is already presenting <UIAlertController: 0x1884acb0>

Herhangi bir fikir:

eylem sayfasında bir düğme ben konsolda aşağıdaki uyarıyı almak basıldığında?

cevap

16

Bunu iOS8'de olduğunu tespit ettim. Ben actionSheet:clickedButtonAtIndex: içinden popover sunuluyordu. Benim için çözüm yerine actionSheet:didDismissWithButtonIndex: kullanmaktı.

+2

Sorun, benim için de iOS 8'de oluşmaya başladı. Ben sadece bu çözümü test ettim ve çalışıyor, teşekkürler. Daha önce seçilen cevap da işe yarıyorsa da, bu daha iyi bir çözümdür. –

+0

Çalışıyor, teşekkürler! – Insider

+0

Bu sadece benim için çalıştı * sonra * Eylem sayfasını ilk önce görüntülemek için animasyonu kapattım. –

0

Başka bir görünüm denetleyicisi sunmadan önce UIActionSheet öğesinin gizlenmesini beklemenizi öneririm. [self performSelector:@selector(presentImagePicker) withObject:nil afterDelay:1.0];

1 saniyelik bir gecikme başka bir görünüm denetleyicisi sunulmadan önce actionsheet gizlenmesine olanak gibi yani bir şey başka yöntem haline yöntem ve uyumsuz çağrı: clickedButtonAtIndex: Yani actionSheet gelen yeni bir görünüm denetleyicisi sunuyor kodu taşımak .

+0

Teşekkürler. Bu iyi çalışıyor, ancak gecikmeyi zorlamıyorum. Daha iyi bir çözüm yoksa, bunu kullanacağım. –

+1

1 saniye muhafazakâr olabilir - daha kısa bir süre (belki de sıfırın üstünde bir şey) ile kurtulabilirsin. Eylem sayfası harekete geçtiği sürece, ekrana dokunarak ekranda bir şeyler olacağını ve kullanıcının gecikmeyi fark etmeyeceğini göreceksiniz. – danielquokka

+0

Gecikmeyi 0.25 olarak değiştirdim ve hala çalışıyor ve biraz daha pürüzsüz. Yardım ettiğin için teşekkür ederim. –

İlgili konular