If button is created with InitWithCoder - buttonType defaults to plain. Setting to Rounded after doesn't init the background layer.