2

ait olurken çocuk görüşlerini Dismiss. Kullanıcı uygulamayı iPhone'daki arka plana gönderdiğinde (ev düğmesine bastığında vb.), Doğmuş UIActivityViewController'ı ve ondan gelmiş olabilecek tüm çocukları kaldırmam gerekir. Bu kullanıcı UIActivityViewController "Mail" veya "Mesaj" seçeneğini seçerse bu eylemin bir sonucu olarak çoğaltılır görünümü (görünüm denetleyicisi?) Kaldırmak gerektiğini söylemektir. sadece orijinal UIActivityViewController kaldırır bulundu ve bunun ortaya çıkardığı ek görüşlerin hiçbiri ileBir UIActivityViewController kullanıyorum UIActivityViewController

Aşağıdaki kodu çalıştılar.

[_myActivityController dismissViewControllerAnimated:NO completion:nil]; 

cevap

1

Bunu appDelegate uygulamasında deneyinDidEnterBackground. Sunulan en çok görüntü denetleyicisini kapat. Umarım bu size yardımcı olur.

- (void)applicationDidEnterBackground:(UIApplication *)application { 

    UIViewController *mytopController = [UIApplication sharedApplication].keyWindow.rootViewController; 
    while (mytopController.presentedViewController) 
    { 
     mytopController = mytopController.presentedViewController; 
     [mytopController dismissViewControllerAnimated:NO completion:nil]; 
    } 

} 
+0

Bu çalışır. Bu benim root view denetleyicimi kaldırmadı şaşırdı. Kök denetleyicinin presentViewController özelliği aracılığıyla UIActivityViewController veya onun çocuğunu işaret ettiğini ve bu öğeyi nasıl kaldırdığınızı tahmin ediyorum. Her iki şekilde de iyi şeyler. –

+0

NOT: Kullanıcı UIActivityViewController'da "daha fazla" seçeneğini tıklatırsa, bu çözüm tüm öğeleri kaldırmaz. [: HAYIR tamamlama: mytopController dismissViewControllerAnimated nil] 've değiştirme;, düzgün tüm elemanlar mytopController = mytopController.presentedViewController 'kaldır için' 'ile [mytopController.presentedViewController dismissViewControllerAnimated: HAYIR tamamlama: nil];' –

İlgili konular