2012-04-03 111 views
5

我有一个应用程序在其选项卡上使用了一个UIWebView。 所有事情都应该如此,但视图滚动的速度非常缓慢!如果我在模拟器中构建它,或者如果我在iPhone中构建它,则无关紧要,这与慢速滚动相同。 如何提高视图的滚动速度?我注意到一旦手指离开屏幕就会停止滚动,而不是像safari一样保持滚动和减速,这与它有什么关系?如何提高UIWebView的滚动速度?

的是我的.h文件:

// FirstViewController_SE.h 
// WebApp 
// 
// Created by Camilla Fröberg on 2012-03-29. 
// Copyright (c) 2012 SafeLine Sweden AB. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

@interface FirstViewController_SE : UIViewController<UIWebViewDelegate> { 

IBOutlet UIWebView *webDisplay_SE; 
    UIBarButtonItem* mBack; 
    UINavigationItem* back; 

} 

@property(nonatomic,retain) UIWebView *webDisplay_SE; 
@property (nonatomic, retain) IBOutlet UIBarButtonItem* back; 

- (void)updateButtons; 


@end 

这是我的.m文件:

// 
// FirstViewController_SE.m 
// WebApp 
// 
// Created by Camilla Fröberg on 2012-03-29. 
// Copyright (c) 2012 SafeLine Sweden AB. All rights reserved. 
// 

#import "FirstViewController_SE.h" 

@interface FirstViewController_SE() 


@end 

@implementation FirstViewController_SE; 
@synthesize webDisplay_SE; 
@synthesize back = mBack; 

#pragma mark - View lifecycle 


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.webDisplay_SE.delegate = self; 


    NSString *urlAddress = @"http://www.safeline.eu/mobile/se/product"; 

    //Create a URL object. 
    NSURL *url = [NSURL URLWithString:urlAddress]; 

    //URL Requst Object 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    //Load the request in the UIWebView. 
    [webDisplay_SE loadRequest:requestObj]; 

    [self updateButtons]; 
} 


- (void)viewDidUnload { 
    self.back = nil; 
    [super viewDidUnload]; 

    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 


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


- (void)updateButtons 
{ 
    self.back.enabled = self.webDisplay_SE.canGoBack; 
} 



- (void)didReceiveMemoryWarning { 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 


- (BOOL)webDisplay_SE:(UIWebView *)webDisplay_SE shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    return YES; 
} 



- (void)webViewDidStartLoad:(UIWebView *)webDisplay_SE 
{ 
    [self updateButtons]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)webDisplay_SE 
{ 
    [self updateButtons]; 
} 




@end 
+0

我已经提交了一个关于此的错误报告。参考号码是11322967. – MrO 2012-04-26 01:08:07

+0

两年前,我发布了一个解决方法,但今天有人提到它会导致拒绝。你可以在http://stackoverflow.com/a/2979294/359041看到我的原始回复。 – MrO 2012-04-26 01:09:28

回答

7

试试这个:

webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal; 

注:有一个错误在iOS版9您可能需要解决方法https://stackoverflow.com/a/32843700/308315

+0

完美地作为iOS10.3中WKWebView实例的属性 – 2017-09-15 20:58:27