我有一个奇怪的问题,其中包含UIScrollView
和UIWebView
。
首先是我的设置:
我将UIView子类化,并将以下代码添加到其中:
·H
@interface MySubclassedView : UIView {
UIScrollView *scrollView;
UIWebView *contentView;
}
@property(nonatomic,retain) UIWebView *contentView;
的.m
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self setupContentView];
}
return self;
}
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
感谢所有帮助。如果不清楚,请在评论中告诉我。
答案 0 :(得分:2)
我真的很抱歉我没有更多帮助,但是:
重要提示:你不应该嵌入 UIWebView或UITableView对象 UIScrollView对象。如果你这样做, 可能导致意外行为,因为 两个对象的触摸事件可以 混淆和错误处理。
从:
并不意味着没有办法让它发挥作用。但可能意味着你想要限制你用力撞击墙壁试图让它发挥作用的时间。
也就是说,只要将userInteractionEnabled设置为NO,我就已成功在UIScrollViews中嵌入了UIWebViews。