触摸开始后 UIScrollview 位置移动

Posted

技术标签:

【中文标题】触摸开始后 UIScrollview 位置移动【英文标题】:UIScrollview position moves after touches begin 【发布时间】:2014-06-11 01:11:17 【问题描述】:

我查看嵌入在稍微透明的导航控制器中。这个视图包含一个 UIscrollview。这个 UIScrollview 有以下子视图:UIImageView、UILabel 和 UIWebview。所有这些其他视图都正常工作。当视图加载时,一切都在正确的位置(视图位于导航栏下方)。但是,一旦点击屏幕,滚动视图就会重新定位到视图的顶部(也就是位于顶部的导航栏后面,我可以看到这是真的,因为导航栏有点透明)

知道为什么会这样吗?我这样设置滚动视图:

 self.scrollView.frame = CGRectMake(0, self.navigationController.navigationBar.frame.size.height, self.view.window.frame.size.width, self.view.window.frame.size.height);

同时设置这些属性:

self.scrollView.scrollEnabled = YES;
self.scrollView.alwaysBounceVertical = YES;
self.scrollView.bounces = YES;

有人知道为什么会这样吗?

【问题讨论】:

【参考方案1】:

我有类似的问题,但仅限于 ios 7.0。尝试设置navigationBartranslucent = NO 属性。这将使navigationBar 不透明。虽然如果您希望navigationBar 透明,请尝试更改scrollViewcontentInset 以根据需要调整内容。希望这会有所帮助:)

【讨论】:

完美!很高兴为您提供帮助

以上是关于触摸开始后 UIScrollview 位置移动的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView之isTracking delaysContentTouches canCancelContentTouches

ios在两个uiscrollview之间移动触摸事件

以 UIScrollView 作为子类的 UIView 不接收触摸事件

(iphone) uiscrollview 触摸。取消内容触摸并开始滚动

在 UIScrollView 仍处于活动状态的情况下检测视图中的连续触摸位置

如何使用 UIGestureRecognizers 相对于触摸位置在 UIScrollView 内旋转 UIImageView