Home > DeveloperSection > Forums > How do I tell if a UIView is visible and on screen?
Mikki Halpin
Mikki Halpin

Total Post:23

Points:161
Posted on    August-17-2015 12:06 AM

 iPhone iPhone  Ios  Objective C 
Ratings:


 1 Reply(s)
 587  View(s)
Rate this:

If I have a UIView (or UIView subclass) that is visible, how can I tell if it's currently being shown on the screen (as opposed to, for example, being in a section of a scroll view that is currently off-screen)?

 

To maybe give you a better idea of what I mean, UITableView has a couple of methods for determining the set of currently visible cells. I'm looking for some code that can make a similar determination for any given UIView.



Tarun Kumar

Total Post:213

Points:1635
Posted on    August-17-2015 11:36 PM

I recently had to check whether my view was onscreen. This worked for me:

CGRect viewFrame = self.view.frame;

CGRect appFrame = [[UIScreen mainScreen] applicationFrame];

 

// We may have received messages while this tableview is offscreen

if (CGRectIntersectsRect(viewFrame, appFrame)) {

    // Do work here

}


Don't want to miss updates? Please click the below button!

Follow MindStick