In depends on what version of iOS we are trying to do that.
iOS 8.0~8.2 way your project should not be compatible with iOS 7 and will work ONLY iOS 8 and UP the best way is to use Size Classes (Trait collections) presented on WWDC 2014 and there was a video about this way, Session 214 "View Controller Advancements in iOS 8"
Briefly it now has a property
This property indicates if detail view is collapsed.(Session 214, Minutes 12:30 ->)
@property (getter=isCollapsed) BOOL collapsed;
A bit of KVO magic and you could have a callback of when detail view is available.
For old iOS 7 way you can detect current orientation of device and get current state of your detail.
Couple methods(rotation callbacks) you have:
willRotateToInterfaceOrientation:duration:
didRotateFromInterfaceOrientation:
interfaceOrientation
!!! BASED on Session 214(43:20) it is not recommended to use these methods with iOS 8 and UP because they are deprecated!!!
I'm not sure this 2 way are the best and easiest but they work properly as expected.And little advice to look WWDC videos, they are pretty helpful.