Every design has a tradeoff. UIKit is optimized for iOS interface conventions. I believe most apps follows these conventions most of the time. Designing a more complex system to solve every edge case makes the common case harder.
Build with vanilla!