首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在uiscrollview Y位置改变时隐藏/显示uiview?

在UIScrollView Y位置改变时隐藏/显示UIView,可以通过UIScrollViewDelegate的方法来实现。

首先,需要设置UIScrollView的代理为当前的ViewController,然后实现UIScrollViewDelegate的方法scrollViewDidScroll(_:UIScrollView)。在该方法中,可以获取UIScrollView的contentOffset属性,即滚动的偏移量。根据contentOffset的Y值,可以判断UIScrollView的滚动方向和位置。

以下是一个示例代码:

代码语言:txt
复制
class ViewController: UIViewController, UIScrollViewDelegate {
    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var viewToHide: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        scrollView.delegate = self
    }
    
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        let offsetY = scrollView.contentOffset.y
        
        if offsetY > 100 {
            // 超过100时隐藏UIView
            viewToHide.isHidden = true
        } else {
            // 小于等于100时显示UIView
            viewToHide.isHidden = false
        }
    }
}

在上述代码中,scrollViewDidScroll(_:UIScrollView)方法中,我们通过判断contentOffset的Y值是否大于100来决定是否隐藏UIView。当滚动超过100时,隐藏UIView;否则,显示UIView。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。关于UIScrollView和UIView的更多详细信息,你可以参考腾讯云的相关文档和开发者资源。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何手动实现一个 UIScrollView

UIKit 坐标系每一个 View 都定义了他自己的坐标系,如下图所示,x 轴指向右方,y 轴指向下方: ?...位于该 View 边界外的区域依然存在,只是被隐藏起来了。 ? image.png 一个 View 提供了其所在平面的一个观察口,View 的 bounds 矩形描述了这个可是区域的位置和大小。...不过这个 View 真正位于屏幕上的位置(更准确的说在其父 View 上的位置)其实没有改变,因为这是由 View 的 frame 属性决定的,它并没有改变: frame矩形…定义了这个View在其父...其实这就是 UIScrollView 滑动所发生的事情。注意从一个用户的角度来看,他以为时这个 View 中的子 View 在移动,其实他们的在坐标系中位置(他们的 frame )没有发生过变化。...我们用一个 gesture recognizer 来识别用户的拖动操作,根据用户拖动的偏移量来改变 bounds 的原点: 和真正的 UIScrollView 一样,我们的类也有一个 contentSize

68940

iOS实例——滑动列表展现隐藏顶部视图

引 项目中需要一个效果:下滚列表顶部的自定义视图不移动,上移时隐藏顶部视图,提高列表的展现范围。...在此基础上海加了一个隐藏列表的动态渐入渐出效果,如下: 实现 实现的要点是,顶部的视图要随着列表的滚动而滚动,且列表最上是可以滚动到屏幕顶部的,最下就是滚动到一个固定的位置就不再往下滚动了,至于渐变效果只要能控制滚动自然也能控制随着滚动去改变...这里我们利用UIView的一个Delegate:willMoveToSuperview:,它会在我们的视图被添加到父视图上被调用,在这个代理方法中我们就添加对列表的contentoffset值的观察,...每次这个值变化时就调用处理方法: #pragma mark - UIView Delegate // 在被添加到界面上就添加对contentoffset的观察 - (void)willMoveToSuperview...在处理方法中我们要做两件事,第一件事是让顶部视图的高度随着列表移动而移动,但是要控制列表最高移动到的位置TOP和最低移动到的位置BOTTOM,这其实就是顶部视图的低端对应的Y值。

1.8K10

模拟京东首页导航条渐变

made in 小蠢驴的京东搜图.jpg 京东App的效果演示: 京东Demo演示.gif 京东App首页导航条 - 细节点: 根据拖动,导航条的透明度渐变 拖动到一定的位置,整个导航条的元素 (按钮&...&搜索框)发生变化 导航条的透明度在改变,但是上面的文字&&图片还是很清晰,未被透明度所影响 顶部的时间工具条,在导航条颜色变化的时候,也会变化 ---- 搭建步骤 1.隐藏系统默认导航条,自定义导航条...思路:使用UIView创建自定义导航条,然后在自定义的UIView进行操作 隐藏导航条: - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear...:animated]; self.navigationController.navigationBarHidden = YES; } 初步样式.gif 隐藏导航条之后,创建一个UIView,上面左右两个...)scrollViewDidScroll:(UIScrollView *)scrollView{ //约定 偏移量达到300的时候,就改变颜色 static CGFloat tagOffsetY

2.5K90

【IOS开发基础系列】UIScrollView专题

假如定时器行动,没有任何的大的位置改变,滚动视图就发送一个跟踪事件给触摸的子视图。如果在定时器消失前,用户拖动他们的手指足够的远,滚动视图取消子视图的任何跟踪事件,滚动它自己。...那么这里就有疑问了,既然该属性设置未来NO了,那么岂不是UIScrollView不能处理任何事件了,那么为何在子视图上快速滚动的时候,UIScrollView还能移动那。...;     //防止最开始就向上面拖动的时候,改变数组视图树的位置。     ...方法就是判断当前offset和视图的位置进行比较。如果判断滚到离开了可视范围,然后就是要改变重用视图数组中第一个视图的位置了。...showsHorizontalScrollIndicator     滚动是否显示水平滚动条 showsVerticalScrollIndicator     滚动是否显示垂直滚动条 bounces

47830

IOS开发系列——UIView专题之五:常用开发技巧篇

5.1.3内容自适应属性UIViewContentMode UIImageView的contentMode这个属性是用来设置图片的显示方式,居中、居右,是否缩放等,有以下几个常量可供设定: UIViewContentModeScaleToFill...只有部分显示在ImageView中。...hitTest:withEvent:方法忽略隐藏(hidden=YES)的视图,禁止用户操作(userInteractionEnabled=YES)的视图,以及alpha级别小于0.01(alpha<0.01...UITouch对象有一个view属性,表示此触摸操作初始发生所在的视图,即上面检测到的hit-test view,此属性在UITouch的生命周期不再改变,即使触摸操作后续移动到其他视图之上。...UIScrollView 5.1.5通过UIView对象获取其所属UIViewController 通过UIView对象获取该对象所属的UIViewController可以使用UIResponder

1.1K20

阅读器多种翻页的设计与实现

核心逻辑: pan手势开始,记录点的位置: CGPoint point = [rec translationInView:self.view]; static CGPoint startPoint...UIGestureRecognizerStateBegan) { startPoint = point; } pan手势触发过程中,先确定方向,再获取对应的VC;然后根据左右滑动,分别改变位置...B是我们创建的第一个vc,大小和UIScrollView的size一样大;当我们向下滑动,我们创建vcA放在B的上面; 当我们上滑到vcA完全展示的时候,vcB已经滑动到屏幕外面(红色为窗口大小);...此时我们回收vcB,然后将UIScrollViewY偏移重新改为view.height,回到了初始化状态。...遇到的问题(Q&A): Q:如何实现UIScrollView改变offset,但是继承原来的速度?

3.2K10

MJRefresh 源码阅读

弱引用父视图,并设置对父视图的监听(这里有个细节是- (void)willMoveToSuperview:(UIView *)newSuperview函数在view添加和移除都会调用,所以只要调用该函数...scrollViewContentSizeDidChange:change]; // 设置位置 self.mj_y = self.scrollView.mj_contentH; } -...来说要相对复杂一些 MJRefreshAutoFooter通过- (void)scrollViewContentSizeDidChange:(NSDictionary *)change监听到contentSize改变改变...Footer的y值,以达到自适应位置,通过- (void)scrollViewContentOffsetDidChange:(NSDictionary *)change和- (void)scrollViewPanStateDidChange...上,并在此时对scrollView的offset、contentSize、panGesture.state进行监听,在移除view,需要移除监听 通过上面的监听来修改view的位置、动画等自定的内容(

1.2K20

UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

当展示的内容较多,超出一个屏幕,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。...的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的 scrollEnabled...是否能滚动 showsHorizontalScrollIndicator 是否显示水平方向的滚动条 showsVerticalScrollIndicator 是否显示垂直方向的滚动条 indicatorStyle...scrollView.maximumZoomScale = 2; // 设置代理 scrollView.delegate = self; 让代理对象返回需要缩放的视图控件 - (UIView...是在不改变原有的contentSize基础上,让scrollView中的内容向四周多滚动一些。

1.6K60

在Swift中创建可缩放的图像视图

这包括设置最小和最大的缩放级别,以及指定用户放大使用的UIView(在我们的例子中,它将是图像视图)。让我们来设置滚动视图(为清晰起见,添加一些注释)。...medium.com/media/46304… 在这里,我们设置最小和最大的缩放级别,确保滚动指示器被隐藏(我们不希望它们破坏我们美丽的图像!)...我们将通过在我们的类中添加imageName字符串,并在字符串改变更新UIImageView来实现。...我们将创建一个UITapGestureRecognizer,当用户双击,用它来改变滚动视图的缩放比例。 medium.com/media/8d884… 就是这样!我们现在可以通过双击来缩放。...这也不仅仅适用于图片视图--如果你想让UIView可缩放,你可以采取同样的方法,用UIView而不是图片名称初始化你的类。可以尝试一下!

5.6K20

UIScrollView进阶技巧

隐藏按钮.gif ? 隐藏底栏.gif 先看第一个,是个挺常用的效果。...列表上面是三个栏目按钮和轮播图片,向上滚动,按钮和图片一起向上,按钮周边区域颜色渐变,然后在到指定位置(这里是盖住导航栏之后)按钮停住不动,周边颜色也完全变成导航栏的颜色,列表数据还可以继续滚动。...= statusHeight { //防止滑动过快导致控件停留在错误的位置 menuBtnsView.frame.origin.y = statusHeight...这个其实也很简单,主要就是在完全拉出按钮之后改变contentInset: //Mark: - Table view delegate(下拉显示提问按钮) override func scrollViewDidScroll...第三个效果就不是TableView了,而是个WebView,效果是向上滑动隐藏底栏,向下显示底栏。

97140

六天完成一个简单iOS App - 第六天

cell的内容显示就非常简单了,无非需要对评论的内容进行判断,如果是文字内容则隐藏音频button,如果是音频则表示肯定没有文字,设置button的title即可。...(有数据就显示,没有数据隐藏。...另外因为这里setFrame方法中只对cell的高度做了修改,所以稍作修改就可以完整的显示cell,但是如果在setFrame中对cell的位置和宽高同时做了修改,就会产生难以捉摸的错误,所以如果需要在...setFrame中对cell的位置和宽高同时做修改时,建议使用一个UIView当做载体,heardView上添加UIViewUIView上在添加cell,此时cell的setFrame不会对UIView...keywindow上,如果显示了则修改scrollView的offset.y等于顶端的偏移量即-contentInset.top即可。

1.3K50

iOS开发之多表视图滑动切换示例(仿头条客户端)

除了点击按钮,还可以进行滑动切换,切换,红色的指示器也会随之滑动。      ...主要的技术点就是通过ScrollView的回调,通过事件的响应来改变ScrollView的ContentOffset的值。在回调中根据ContentOffset的值来计算红色指示器的偏移量。   ...initSlideView]; 21 22 } 23 24 return self; 25 }     3.initDataSource方法主要负责模拟生成下方TableView要显示的数据...setBackgroundColor:[UIColor redColor]]; [self addSubview:_slideView]; }     5.ScrollView的初始化代码如下, 指定ScrollView的大小位置以及背景颜色...:CGRectMake(0, _mViewFrame.origin.y, _mViewFrame.size.width, _mViewFrame.size.height - TOPHEIGHT)];

3.7K60
领券