![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何判断一个View是否在屏幕中显示
2个回答
展开全部
得出指定的view相对于屏幕的CGRect,这个有方法的,view参数可以指定window,或者self.view,看你的参照标准是什么,rect就是你那个子view目前的frame,返回值就是子view相对于view的坐标,如果在其范围内或者相交那么在屏幕上就应该是可见的,否则不可见
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
推荐于2016-04-11 · 知道合伙人互联网行家
关注
![](https://wyw-base.cdn.bcebos.com/pc-content/follow.gif)
展开全部
需要判断scrollView中一个btn是否显示在屏幕上,可以用以下代码:
#pragma mark - 返回一个View所在的位置x,y,是否在rect坐标里面
- (BOOL)isInScreenView:(UIView *)inView withRect:(CGRect)rect{
return CGRectIntersectsRect(inView.frame, rect);
}
#pragma mark - 返回判断screenRect所在的位置x,y,是否在rect坐标里面
- (BOOL)isInScreenRect:(CGRect)screenRect withRect:(CGRect)rect{
return CGRectIntersectsRect(screenRect, rect);
}
#pragma mark - 返回一个View所在的位置x,y,是否在rect坐标里面
- (BOOL)isInScreenView:(UIView *)inView withRect:(CGRect)rect{
return CGRectIntersectsRect(inView.frame, rect);
}
#pragma mark - 返回判断screenRect所在的位置x,y,是否在rect坐标里面
- (BOOL)isInScreenRect:(CGRect)screenRect withRect:(CGRect)rect{
return CGRectIntersectsRect(screenRect, rect);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询