SORU
17 Ocak 2012, Salı


UİPopovercontroller dealloc popover yaparken ulaştı hala görünüyor

Benim soru için bir cevap arama yaptım sizi temin ederim, ama hiçbiri yardımcı oldular. Burada bir UİPopoverController içinde: bir UİİmagePickerController mevcut gereken basit bir kod var

-(void)takePicture:(id)sender{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.allowsEditing=YES;
UIPopoverController *poc=[[UIPopoverController alloc] 
                            initWithContentViewController:picker];
[poc presentPopoverFromBarButtonItem:bbItem 
            permittedArrowDirections:UIPopoverArrowDirectionAny
                            animated:NO];
}

Şimdi, hatta ilk kez [UİPopoveController dealloc]... hata ve program çöker iken ulaştı. ARC başı olarak korumak,relase veya autoreleases, bunu yapmayacağım. ARC yararlanarak zaman UİPopoverControllers ile hiçbir özel muamele var mı?

CEVAP
17 Ocak 2012, Salı


UİPopoverControllers her zaman örnek bir değişkende tutulmalıdır. Bunun için güçlü bir özellik oluşturmak için iyi bir uygulamadır.

GÜNCELLEME:

İOS 8 UIPopoverPresentationController kullanıyor olması gerekir. Sunu denetleyicisi tarafından yönetilir çünkü popover için bir başvuru tutmak gerek yok.

Kod örneği (iPhone ve iPad hem de çalışır):

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.allowsEditing = YES;
picker.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController* popoverPC = picker.popoverPresentationController;
popoverPC.barButtonItem = bbItem;
popoverPC.permittedArrowDirections = UIPopoverArrowDirectionAny;
[self presentViewController:picker animated:YES completion:nil];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010