Amaç: ben daha önce ve hemen ben sadece yeni bilgilerle görevden aynı viewController
mevcut sunumunu yaptılar modalView görevden istiyorum.iOS: reddeden ve Ana ViewController erişimi olmayan ModalViewController sunan
Sorun: Ben modally ilk ViewController
sunulan ebeveyn ViewController
için açık pointer olmadan bunu yaparken de çok başarılı olmamıştır. Önceki viewController
'un kodu ile uğraşmadan çalışan bu sınıfı yazmaya çalışıyorum.
Olası kurşun: Ben deneyler yapıyorlar şeylerin çift vardır: şu anda nasıl bilmiyorum ebeveyn ViewController
, erişmek için çalışıyorum)
1.. Bu ebeveyn viewController
erişim hakkı çalışması gerekir Teoride
UIViewController* toPresentViewController = [[UIViewController alloc] init];
[self dismissViewControllerAnimated:YES completion:^{
[parentViewControllerAccessor presentModalViewController:toPresentViewController animated:YES];
}];
:
2.) ebeveyne erişim kazanmış sonra, ben sadece aşağıdaki kodu uygulayabilirsiniz. Bunu yapmanın başka yollarına açığım.
Varsayım: Bunu, üst ViewController
herhangi bir kod değiştirme yetkiniz yok.
Bunu doğru anlıyorsam, şu kodu değiştirmeliyim: '[parentViewControllerAccessor presentModalViewController: toPresentViewController animasyonlu: YES];' '' [self.presentingViewController presentModalViewController: kırpılmışPhotoVC canlandırıldı: EVET]; '. Ne yazık ki, bu işe yaramıyor. Yanlış bir şey mi anladım? – Byte
Bu, büyük olasılıkla blokların nesneleri nasıl tuttuklarından kaynaklanır - kendini koruyacaktır, ancak görüntüleme denetleyicisini değil, bu nedenle "ben" inin reddedilmesiyle bu özellik sıfırlanmayabilir. Self.presentingViewController öğesini, bloğun dışındaki bir yerel değişkene ayarlayın ve ardından bu değişkeni blok içinden kullanın. – jhabbott
Bu aynı sonuca vardım. Bunu yapmak için statik bir değişken yapmalıyım ki, kendiliğinden kaldırıldığında, yöntem hala çalışmaya devam edecektir. Ama bu daha çok bir kesmek gibi görünüyor. – Byte