iphone - 带有 webview 崩溃的页面 View Controller

标签 iphone ios objective-c ipad memory-management

我在我的 contentviewcontroller 中使用 webview,当我在页面之间滑动时,我的应用程序崩溃了。
下面是我的代码:

contentviewcontroller.m

#import "ContentViewController.h"

@interface ContentViewController ()

@end

@implementation ContentViewController
@synthesize m_CtrlWebview,DocumentPath;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    m_CtrlWebview.scrollView.pagingEnabled=YES;
    m_CtrlWebview.scrollView.bounces=NO;
    m_CtrlWebview.scalesPageToFit=YES;
    m_CtrlWebview.backgroundColor=[UIColor clearColor];
    //m_CtrlWebview.scrollView.zooming=NO;
    m_CtrlWebview.scrollView.zoomScale=1.0;



    NSURL *url = [NSURL fileURLWithPath:DocumentPath isDirectory:NO];

    [m_CtrlWebview loadRequest:[NSURLRequest requestWithURL:url]];
}


-(void)dealloc
{
    [super dealloc];
}
- (void)viewDidUnload
{
    //[m_CtrlWebview stopLoading];
    [m_CtrlWebview release];
    [super viewDidUnload];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

在 Root View Controller 中:

  #pragma mark - UIPageViewControllerDataSource Methods

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
      viewControllerBeforeViewController:(UIViewController *)viewController
{
    NSUInteger currentIndex = [self.modelArray indexOfObject:[(ContentViewController *)viewController DocumentPath]];
    if(currentIndex == 0)
    {
        return nil;
    }

    ContentViewController *firstViewController = [self viewControllerAtIndex:currentIndex - 1];
    // ContentViewController *secondViewController = [self viewControllerAtIndex:x+1 ];


    return firstViewController;



}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
       viewControllerAfterViewController:(UIViewController *)viewController
{
    NSUInteger currentIndex = [self.modelArray indexOfObject:[(ContentViewController *)viewController DocumentPath]];
    if(currentIndex == self.modelArray.count-1)
    {
        return nil;
    }
    NSString *Path=[self.modelArray objectAtIndex:currentIndex + 1];
     if  (![[NSFileManager defaultManager] fileExistsAtPath:Path])
     {
        return nil; 
     }
    else
    {
        ContentViewController *firstViewController = [self viewControllerAtIndex:currentIndex + 1];

        return firstViewController;
    }

}

- (ContentViewController *)viewControllerAtIndex:(NSUInteger)index {

    if (([self.modelArray count] == 0) || (index >= [self.modelArray count])) {
        return nil;
    }
    ContentViewController *dataViewController;
    dataViewController = [[ContentViewController alloc]initWithNibName:@"ContentViewController" bundle:nil];

    dataViewController.DocumentPath = [self.modelArray objectAtIndex:index];
    return dataViewController;

}

我该如何解决这个问题?另外如何禁用网页 View 的缩放?任何帮助,提前致谢。

最佳答案

return [dataViewController autorelease];

- (ContentViewController *)viewControllerAtIndex:(NSUInteger)index 中的上述行解决了我的问题。

关于iphone - 带有 webview 崩溃的页面 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315382/

相关文章:

iphone - 如何使用 Titanium 查询父 View 的 subview ?

ios - 无法从 xib 调用 Storyboard

ios - 更改付款上下文选择的付款方式

ios - 如何在 IOS 的 uiwebview 中将 textalignment 属性设置为正确?

android - 如何在捕获交易之前使用 Paypal 轻松更新订单?

iphone - UISegmentedControl:以编程方式设置索引?

ios - 奇怪的错误 : Can't render polygon

objective-c - 如何将 NSSearchField 连接到我的 NSTableViewDataSource?

ios - 使用代理服务器的 UIWebView 应用程序

objective-c - 结束在辅助线程中运行的 while 循环?