8

我在通用项目中使用 iOS 6 时遇到此错误("CGImageCreate: invalid image size: 0 x 0"),仅适用于新 iPad 模拟器(不适用于旧 iPad 模拟器或 iPhone),如果我加载一个UIPickerViewController超过 asplitViewController且仅纵向(而不是横向)的窗口。

当我旋转 iPad 时出现错误。

我不认为有可能产生错误的图像......为什么?

我用来加载选择器的代码:

- (void) pickerViewControllerDidFinish:(PickerViewController *)controller {
    if (UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad) {
        self.path = controller.path;             
        [self dismissViewControllerAnimated:YES completion:nil];
        FeedRootViewController *controllerF = [[FeedRootViewController alloc] initWithNibName:@"FeedRootViewController" bundle:nil];
        controllerF.path = self.path;
        controllerF.detailViewController = self.detailViewController;
        [self.navigationController pushViewController: controllerF animated:YES];
        [controllerF release];  
        NSString *urlAddress = [[NSBundle mainBundle] pathForResource:@"feeds" ofType:@"html"];
        NSURL *url = [NSURL fileURLWithPath:urlAddress];
        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
        [detailViewController.webView loadRequest:requestObj];
        [detailViewController.webView setScalesPageToFit:YES];
        [path release];
    }
}

但是我不知道问题是否来自此代码......

4

1 回答 1

1

您的代码的最后一行[path release];看起来很可疑。如果path是一个局部变量,请确保它不会在dealloc方法中释放。如果它释放FeedRootViewController的路径属性可能会变得未定义,你会得到一个错误。也不要将属性与局部变量混合,这可能会导致错误并使您的代码不可读。

于 2014-05-15T10:26:40.350 回答