Her zaman, iOS sürümlerinden ziyade mevcut yöntemleri/öznitelikleri bulmayı ve sonra bir yöntemin var olduğunu varsaymayı tercih etmelisiniz.
Bkz. Apple documentation. , UIViewController
ait presentModalViewController:animated:
yöntemi kullanımdan kaldırıldı iOS 6'da
[self presentModalViewController:viewController animated:YES];
, iOS 6'da
presentViewController:animated:completion:
kullanmalıdır:
Örneğin, iOS 5'de böyle bir şey yapacağını kalıcı görünüm denetleyicisi görüntülemek için ama ne zaman kullanacağını nereden biliyorsun?
iOS sürümünü algılayabilir ve bir veya daha sonra kullandığınız bir if deyimine sahip olabilirsiniz, ancak bu hataya aykırıdır, bir hata yaparsınız, belki de gelecekte daha yeni bir işletim sisteminin bunu yapmanın yeni bir yolu olur. .
bu işlemek için doğru yoldur:
if([self respondsToSelector:@selector(presentViewController:animated:completion:)])
[self presentViewController:viewController animated:YES completion:^{/* done */}];
else
[self presentModalViewController:viewController animated:YES];
Hatta daha sıkı olması gerektiğini iddia ve böyle bir şey yapabileceğini: Ben senin UIActionSheet
Örneğin konusunda emin değilim
if([self respondsToSelector:@selector(presentViewController:animated:completion:)])
[self presentViewController:viewController animated:YES completion:^{/* done */}];
else if([self respondsToSelector:@selector(presentViewController:animated:)])
[self presentModalViewController:viewController animated:YES];
else
NSLog(@"Oooops, what system is this !!! - should never see this !");
, Bildiğim kadarıyla bu durum iOS 5 ve 6'da aynıdır. Belki de paylaşım için UIActivityViewController
düşünürsünüz ve iOS 5 kullanıyorsanız, UIActionSheet
adresine geri dönmek isteyebilirsiniz. mevcut, bkz. here nasıl yapılır.
Yardımlarınız için teşekkürler! Çok büyük bir cevap! –
Hakkında bir teşekkür ve about.me için teşekkür ederiz – Daniel
Proje ayarlarında çerçeveye bağlayabilirsiniz, böyle bir durumda, çerçevenin tüm versiyonlarında mevcut olmayabilir, sizin durumunuzda olduğu gibi, sadece isteğe bağlı olacak şekilde daha sonra gerekli. ---- soru silindi .... soru/yorum. – Daniel