I just want to add this answer because the question title may lead a lot of ppl here with similar issues (like me).
With iOS 8 to 8.0.2 LayoutSubviews
calls are unreliable. They may not be called ever or (in my case) are called in a loop.
Even though you should not do it, it was pretty safe to alloc stuff in LayoutSubviews, but with this buggy (?!) behaviour it can cause hard-to-trace bugs.
I don't know if 8.1 fixes all the issues but it will be some time until customer devices will run 8.1 and they do run 8.0.2 NOW
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…