>  Q&A  >  본문

ios - UIView 如何判断自己不在用户的可视范围呢?

要求:方案简单易行,用户无感知(不能占用过高的 CPU)
背景:需要封装一个视图控件,该控件需要根据陀螺仪进行频繁的重绘。

目前需要考虑以下情况:

PHPzPHPz2765일 전703

모든 응답(3)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-18 09:57:01

    alpha, hide——이 두 UIView는 각각의 속성을 얻어 알 수 있습니다.
    UIScrollView 하위 뷰——[scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow];를 통해 화면을 기준으로 UIView의 프레임을 얻을 수 있으며, 이를 통해 판단할 수도 있습니다.
    가 뷰 범위 내에서 백그라운드를 호출하거나 진입하는지 여부 - appdelegate에서 해당 프록시 메소드를 구현하면 프록시 메소드가 실행된 후 알림이 전송되므로 UIView는 알림을 수신하고
    가 다른 보기에 의해 차단되었습니다. - 이것은 직접 제어하세요. 앱을 직접 작성하면 언제 차단되는지 확실히 알 수 있습니다.

    회신하다
    0
  • 阿神

    阿神2017-04-18 09:57:01

    /* rect2' is contained in ect1'이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. `ect2'
    rect1' if the union of ect1'에 포함되어 있고 `ect2'는
    `ect1'과 같습니다. */

    CG_EXTERN bool CGRectContainsRect(CGRect ect1, CGRect ect2)

    으아악

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:57:01

    다 나열하지 않았나요?

    회신하다
    0
  • 취소회신하다