2011-05-27 16 views
6

Şu anda UIViewController'ı başlatan ana menümde normal UIButton var; - tartışmasız olarak beklendiği gibiUIDocumentInteractionController çıkışta çöküyor

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 

    documentPath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"pdf"]; 
    NSURL *targetURL = [NSURL fileURLWithPath:documentPath]; 

    document = [UIDocumentInteractionController interactionControllerWithURL: targetURL]; 
    document.delegate = self; 
    [document retain]; 

    return self; 
} 

-(UIViewController *)documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller 
{ 
    return self; 
} 

-(void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller 
{ 
    [document autorelease]; 
} 

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [document presentPreviewAnimated: YES]; // ** CRASH ** 
} 

-(void)viewDidUnload 
{ 
    [super viewDidUnload]; 
} 

-(void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
} 

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

-(void)dealloc 
{ 
    [super dealloc]; 
} 

Benim pdf dosyası yükler, ancak belge kapatır "bitmiş" düğmesine vurduğunda ve benim boş UIViewController bakarak sol am şu şekildedir: İlgili .m dosyasının içeriği olan beklenen. Ancak navigasyon "geri" düğmesine bastığımda, uygulama, presentPreviewAnimated çağrısının bulunduğu viewDidLoad yönteminin içinde hatalı bir erişim hatasıyla çöküyor.

Eğer birileri bir göz atabilirseniz, minnettar olurum.

sorun, görüş oluşturulması sırasında bunu o olup olmadığını merak ediyorum

+0

Sorununuzun delege içinde yaptığınız otomatikleştirme ile ilgili olabileceğini düşünüyorum (initWithNib yönteminde tutma ile birlikte). – onnoweb

+0

@onnoweb Korunmasız, aşağıdaki ile kilitlenir: Satır 1: - [__ NSCFType presentPreviewAnimated:]: örneğine gönderilen tanınmayan seçici 0x1a32e0 Satır 2: *** Uygulanamaz istisna 'NSInvalidArgumentException' nedeniyle uygulamayı sonlandırma, nedeni: '- [__NSCFType presentPreviewAnimated:]: 0x1a32e0 örneğine gönderilen tanınmayan seçici 'Korumayı eklediğim nedeni, Apple'ın UIDocumentInteractionControllerDelegate protokolü başvurusunda bize söylemesiydi. – Luke

+0

Hmm ... Uygulamalarımdan birinde UIDocument'i biraz kullanıyorum, sakın tutmayın ve sorun yok. UIDocument kodunu initWithNib'den viewDidLoad'a taşıdığınızda ne olur? – onnoweb

cevap

1

(btw, bu görünüm denetleyicisi oluşturulduğunda. Evet, kendi içinde bu yanlış hiçbir ELVES dosyası yoktur). Böylece kullanıcı belge önizlemesini kapattığında, tamamlanmamış bir UIView'ye geri döner. Bu yüzden belki ilk önce görünümü oluşturun ve yükleyin ve daha sonra viewDidAppear'dan UIDocument yapın?

İlgili konular