以下の内容はhttps://anton0825.hatenablog.com/entry/20121016/1351764114より取得しました。


UIViewがユーザに見えているかどうかを調べる

UIViewがユーザに見えているかどうかを調べるのは難しい。
viewWillAppearなどのライフサイクルメソッドが実行されたかどうかを確認するだけだと、他のビューの下に隠れている場合や表示領域外にある場合を考慮できない。
以下を地道にコードを書いてチェックしないといけないっぽい。
・view.hiddenがfalseか
・view.superview != nil
・view.frameがscreenの表示領域に入っているか
 convertPoint:toView:を使ってUIWindow上でのframeを計算すれば出来そう。
・祖先ビューがclipToBoundsしてないか。している場合、そのビューのframe内に入っているか
 これは親ビューをどんどんたどっていって調べないといけないので計算量が多くなりそう。
・調べているビューより手前にある他のビューが被っていないか
 これかなりしんどそう。zIndexが調べているビューより手前のビューを全部調べるのがしんどい。。

これはFW側で解決してほしいなぁ。。
参考:iphone - Determine if UIView is visible to the user? - Stack Overflow




以上の内容はhttps://anton0825.hatenablog.com/entry/20121016/1351764114より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14