2011-05-10 32 views
2

我有一個奇怪的問題,其中UIScrollViewUIWebView。 首先我的設置:UIScrollView滾動到頂部時不會彈起垂直

我子類化一個UIView和下面的代碼添加到它:


.H

@interface MySubclassedView : UIView { 
    UIScrollView *scrollView; 
    UIWebView *contentView; 
} 

@property(nonatomic,retain) UIWebView *contentView; 

.M


setupContentView

-(void)setupContentView { 

    // Content View 
    self.contentView = [[UIWebView alloc] init]; 
    self.contentView.backgroundColor = [UIColor whiteColor]; 

    // ScrollView 
    scrollView = [[UIScrollView alloc] init]; 
    scrollView.backgroundColor = [UIColor whiteColor]; 
    scrollView.alwaysBounceVertical = YES; 
    [scrollView addSubview:self.contentView]; 
    [self addSubview:scrollView]; 
} 

和我layoutSubViews

- (void)layoutSubviews { 
    XLog(""); // something like NSLog 
    [super layoutSubviews]; 
    scrollView.frame = CGRectMake(0,0, self.width, self.height); 
    self.contentView.frame = CGRectMake(0,0, self.width, self.height); 
} 

與所有這一切的問題是,它反彈的第一次,當我的滾動視圖不完全滾動到頂部。在滾動視圖滾動到頂部或底部之後,我不能將視圖向下拖動,但只要我拖動,就可以繼續調用layoutSubviews方法。

爲了更好地理解我做了一個簡短屏幕視頻來演示行爲:http://www.screenr.com/Gy9

感謝所有幫助。如果有什麼不清楚的地方,請在評論中告訴我。

回答

2

我真的很抱歉,我沒有更多的東西有幫助的,但是:

重要:您不應該嵌入 的UIScrollView對象 的UIWebView或UITableView的對象。如果這樣做, 可能會導致意外的行爲,因爲 兩個對象的觸摸事件 可能混淆並被錯誤地處理。

來自:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html

並不意味着就沒有辦法使其工作。但可能意味着你想限制你花費時間將頭撞到牆上試圖讓它工作。

也就是說,只要將userInteractionEnabled設置爲NO,我就已經在UIScrollViews中成功嵌入了UIWebViews。

+0

哦......我的天啊。我不知道爲什麼我實現了滾動視圖。你是完全正確的。一個webview自動滾動。啊,現在我知道了。在切換到webview之前,這是一種正常的觀點。謝謝!放棄了滾動視圖,一切正常。 – choise 2011-05-10 21:29:44