Corrected bad practice: do not create UI code in init, but in viewDidLoad after self.view has been properly initialized. Also avoides issues with subclassing (might have impartial view loaded in viewDidLoad).