I have a custom UIView which has a dedicated, manually set frame for portrait and landscape orientation because autoresizingMasks just don't work in my case.
I set this frame in:
Had a similar problem today. I solved it by first calling
-setNeedsLayout: Set the flag that the view needs layout, and afterwards calling
-layoutIfNeeded: Check the flag immediately and - as it was set manually before - as result layoutSubviews is called.
Don't know if this is the best way, but it works ;)