2015-07-02 7 views
3

Я хочу показать один контроллер вида с четким цветом фона с помощью навигационного контроллера - быстро.нажмите на контроллер второго взгляда с четким фоном в быстром

let nextViewController = SettingViewController(nibName: "SettingViewController", bundle: nil) 
    nextViewController.view.backgroundColor = UIColor.clearColor() 
    nextViewController.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext 
    self.navigationController?.pushViewController(nextViewController, animated: true) 

но его не работает. Выше код работает, когда я представляю второй вид, но не работаю с навигационным контроллером.

+0

Почему вы не устанавливаете свой цвет bg в nextViewController в awakeFromNib? –

+0

также, если вы хотите, чтобы модальный вид вы представляли - не нажимайте – Miknash

+1

только цвет bg clear не работает из-за обновления в iOS-8. И, пожалуйста, предложите мне какое-либо свойство или метод для push (навигационный контроллер). Я не хочу использовать подарок. – Alok

ответ

1

Я пробовал много способов, но не получил практически осуществимого решения. На самом деле проблема с контроллером навигации заключается в том, что анимация текущего вида начинается слева направо, перемещаясь с помощью nextViewController, а в iOS-8 нет возможности очистить фон контроллера управления (на самом деле вы можете, но на этом месте появляется другой белый цветной объект). Поэтому мы не можем использовать навигационное представление в этом сценарии.

Проблема с существующим контроллером представления: мы не можем использовать текущий контроллер представления, если ваше приложение запущено на контроллере навигации, потому что вы не можете использовать push-контроллер другого представления после представления на него любого контроллера вида, чтобы это решение не было полезным в этом сценарии.

Решение: Наконец, я добавил следующий viewViewController на настоящий контроллер с анимацией. Но условие принимает следующую рекомендацию nextViewController глобально, иначе действие кнопки nextViewController и некоторые другие действия не будут работать, и приложение будет разбито. Итак, просто возьмите глобальную ссылку nextViewController и добавьте представление nextViewController на presentViewController с анимацией по своему желанию и удалите, когда вы хотите удалить (теперь вы можете поместить прозрачность и цвет представления, как вы хотите). Это работает отлично, как я хотел.