当UIScrollview作为子视图出现时,UIWebview scrollsToTop无法正常工作

时间:2012-01-08 15:52:56

标签: objective-c ios cocoa-touch uiwebview uiscrollview

我在UIWebView上遇到setScrollsToTop:的问题。 webview是根视图控制器的子视图,我在viewDidLoad设置:

[self.webView.scrollView setScrollsToTop:YES];

然而,当我点击状态栏时,webview将不会滚动到顶部。在应用程序内的另一个模态tableViewController它工作正常,甚至没有设置setScrollsToTop:YES。这是app delegate中的applicationDidFinishLaunching代码:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.f = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
self.window.rootViewController = self.f;
[self.window makeKeyAndVisible];
return YES;

我怎样才能让它发挥作用?

编辑:在同一视图中看起来像UIScrollview导致问题。如何使其与UIScrollView一起使用?

3 个答案:

答案 0 :(得分:2)

尝试在UIScrollView上设置setScrollsToTop:NO

根据docs on setScrollsToTop: in UIScrollView

  

此手势适用于单个可见滚动视图;如果有   具有此属性的多个滚动视图(例如,日期选择器)   设置,或者如果委托在scrollViewShouldScrollToTop中返回NO:   UIScrollView忽略该请求。

答案 1 :(得分:0)

使用此处的答案:UIScrollView + UIWebView = NO scrollsToTop

对我来说就像一个魅力。

我有一个嵌入了UIWebView的UIScrollView。

答案 2 :(得分:0)

如果我遇到问题,也许这些代码会解决您的问题。

// Defining you class in 'global context'
// Since it is called as a constructor below, it should be a function
var specialSuff = function(args){
    // Do your constructor stuff here
};

// Defining a variable which is going to hold an instance of specialStuff
var mySpecialStuff;

myMainObject.prototype.invokeSpecialStuff = function(){
    // Creating an instance of specialStuff 
    mySpecialStuff = new specialStuff({foo:bar});
});

有时候self.automaticallyAdjestsScrollViewInsets不像往常一样吵架。所以,请关掉它。