android 判断view是否显示

2025-05-22 15:36:17
推荐回答(2个)
回答1:

int isVisibel=view.getVisibility();

view就是你的那个控件,返回的数值就是该view的可见性,返回View.VISIBLE就是可见

返回View,INVISIBLE就是不可见,返回View.GONE也是不可见,和View,INVISIBLE的区别就是,后者不可见但是会占一个布局位置,前者不可见且不会占布局位置

回答2:

需要判断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);
}