2016-06-20 2 views
0

Я пытаюсь добавить пользовательский вид из xib перед другими видами. Однако по какой-то причине он никогда не помещается в качестве вида спереди, когда на экране отображается UITableView. Вот мой код:Добавление представления из xib перед другими видами

noInternetView = NSBundle.mainBundle().loadNibNamed("NoInternetView", owner: self, options: nil)[0] as! NoInternetView 
noInternetView.translatesAutoresizingMaskIntoConstraints = false 
noInternetView.delegate = self 

self.view.addSubview(noInternetView) 
self.view.addConstraint(NSLayoutConstraint(item: noInternetView, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0)) 
self.view.addConstraint(NSLayoutConstraint(item: noInternetView, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0)) 

Я помещаю это в нижней части моего viewDidLoad() кода. Почему это может быть?

+0

Вы можете попробовать его в viewdidappear и сообщить мне, если он работает. Я сделал то, что вы сделали, но мое мнение было в раскадровке и загрузило пользовательские представления из xib без какой-либо проблемы. Так как вы можете определить, есть ли представление идет за другими представлениями «Иерархия просмотра отладки» ?? –

ответ

0
noInternetView.hidden = true 

ваш взгляд скрыт, сделайте его видимым

noInternetView.hidden = false 
+0

Извините, вы правы, но на самом деле это была ошибка в моем коде. Без этого он все еще ниже других подзаголовков. Я удалил это из кода в моем вопросе, чтобы избежать путаницы! – Tometoyou

+0

также попробовать addChildViewController (noInternetView!) view.addSubview ((noInternetView? .view)!) –

+0

noInternetView не является контроллером вид, хотя, это просто UIView подкласс – Tometoyou

0
self.view.bringSubviewToFront(noInternetView) 

Попробуйте это может помочь вам.

+0

Это не помогло :( – Tometoyou

+0

где вы должны добавить этот строка после addubview или до этого? – Bhumi

+0

После addubview – Tometoyou

0

Первый

Проверить есть ли noInternetView есть ширина и высота ограничения

Второй

Добавить self.view.layoutIfNeeded() после self.view.addConstraint

это помощь для настройки autolayout вы добавили

0

Если вы хотите ваш взгляд будет сверху, вместо этого добавьте его в окно.

Смежные вопросы