2011-10-19 53 views
0

因为我发现的所有问题都是关于禁用垂直滚动的,所以我想我做了一些错误的操作,以致我的UIWebView不会滚动。但我不明白为什么。下面是我的一些代码块:iOS:无法在UIWebView上垂直滚动

在我的AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    self.window.rootViewController = self.viewController; 
    [window addSubview:viewController.webView]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

在我的ViewController:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [webView setDelegate:self]; 
    NSString *urlString = /* some url string */; 
    NSURL *url = [NSURL URLWithString:urlString]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:nil timeoutInterval:10]; 
    [webView loadRequest:request];  
} 

我不知道这是否是值得一提,但在放大和缩小被禁用以及。如果我尝试滚动它滚动整个窗口而不是UIWebView。那么我做错了什么?

+0

是在Interface Builder初始化或其他地方的一个UIWebView? – Sam

+0

@Sam是的,它在Interface Builder中初始化。 – dee

回答

1

一对夫妇的意见,可能解决您的问题:

此代码:

self.window.rootViewController = self.viewController; 
[window addSubview:viewController.webView]; 
[self.window makeKeyAndVisible]; 

有点可疑。假设您的viewControllerwebView已初始化并通过Interface Builder添加到您的viewControllerview中,应该没有理由直接将webView作为窗口的子视图添加。 webView(大概)是viewControllerview的子视图,因此将在您制作viewControllerwindowrootViewController时显示。同样,在引进rootViewController财产之前旧版iOS,这可能是这个样子的:

[window addSubview:viewController.view]; 
[window makeKeyAndVisible]; 

还是在简单的新版iOS版本:

window.rootViewController = self.viewController; 
[window makeKeyAndVisible]; 

第二,关于变焦问题,您可能会将UIWebView属性scalesPageToFit设置为NO(默认值)。如果您希望允许缩放,请确保将此属性设置为YES

我希望这有助于

山姆

+0

关于缩放问题你是对的,但滚动问题仍然存在。 'webView'是'viewController'的'view'的子视图,我将代码改为'window.rootViewController = self.viewController [window makeKeyAndVisible];'但它仍然不让我滚动。 – dee

+0

这很有趣。另一个猜测是,webView.userInteractionEnabled被禁用(但这不太可能,因为现在缩放工作。)有没有关于您可以给项目的任何其他信息?即任何其他子视图,自定义手势识别器等?或者,这是一个简单的viewController /视图顶部添加了UIWebView? – Sam

+0

我没有任何其他子视图。我添加了一个UIWebView viewController的视图,就是这样。 – dee