alpha, hidden——You can know these two UIViews by getting their own properties UIScrollView subview——You can get the frame of UIView relative to the screen through [scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow];, and you can also judge whether it is within the view range through specific data Make a phone call or enter the background - by implementing the corresponding proxy method in appdelegate, a notification will be sent after the proxy method is executed, so that UIView can receive the notification and also know that it is blocked by other views - you can control this thing yourself, write your own app , you will definitely know when the obstruction will occur
/* Return true if rect2' is contained in rect1', false otherwise. `rect2' is contained in rect1' if the union of rect1' and `rect2' is equal to `rect1'. */
alpha, hidden——You can know these two UIViews by getting their own properties
UIScrollView subview——You can get the frame of UIView relative to the screen through
[scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow];
, and you can also judge whether it is within the view range through specific dataMake a phone call or enter the background - by implementing the corresponding proxy method in appdelegate, a notification will be sent after the proxy method is executed, so that UIView can receive the notification and also know that it is blocked by other views - you can control this thing yourself, write your own app , you will definitely know when the obstruction will occur
/* Return true if
rect2' is contained in
rect1', false otherwise. `rect2'is contained in
rect1' if the union of
rect1' and `rect2' is equal to`rect1'. */
CG_EXTERN bool CGRectContainsRect(CGRect rect1, CGRect rect2)
Didn’t you list them all?