IOS:在 IOS 中禁用超级视图的滚动
Posted
技术标签:
【中文标题】IOS:在 IOS 中禁用超级视图的滚动【英文标题】:IOS: Disable scroll of a superview in IOS 【发布时间】:2016-10-04 23:32:20 【问题描述】:我正在处理执行以下操作的遗留代码
-
创建一个子视图控制器并将其添加到父控制器
子视图控制器呈现在父 VC 中。所以动画从底部到顶部开始,但只到特定位置,距离顶部 100 的高度。
所以我在 (0,0)、(SCREEN_WIDTH, 0) 和 (0, 100) 和 (SCREEN_WIDTH, 100) 的范围内显示了一个超级视图
子视图控制器视图显示在其下方。
如果您点击属于父视图的屏幕的任何部分,您可以向上和向下滑动,使其滚动。我不想要那个。加载子视图时如何禁用超级视图的滚动?
我尝试了以下解决方案。
-
创建父 VC 实现的委托协议以尝试将内容设置为 CGPointZero。这个委托是从子视图中调用的。
创建父 VC 实现的委托协议,并从执行以下操作的父 VC(具有自定义 UIScrollView)调用以下函数
self.view.scrollEnabled=NO;
这个选项对我也不起作用。我还有其他方法可以做到这一点吗?
【问题讨论】:
那个可滚动的东西是tableview? 不,它是一个自定义 UIScrollView,它有一些标签,UICollectionView 显然在底部有一个 UICollectionViewCells 和一个公司全局页脚。 【参考方案1】:以清晰的颜色呈现子视图控制器视图。在该视图内部,通过这样做“但只能到特定位置,从顶部离开 100 的高度”来制作子视图。所以从父母的角度来看,没有什么是可触摸的。或者做任何你在做的事情,但是当孩子即将呈现禁用父控制器视图时,用户交互启用为“否”或用清晰的彩色视图覆盖它。当孩子错过时,启用父控制器视图或删除该封面视图。
【讨论】:
以上是关于IOS:在 IOS 中禁用超级视图的滚动的主要内容,如果未能解决你的问题,请参考以下文章
UISearchBar 在 iOS 7.1 上添加到 UITableViewCell 时会更改其超级视图