2016-04-26 1 views
0

Я пытаюсь создать индивидуальный план действий. Я подумал, что самый простой способ - создать представление в качестве подчиненного объекта и назначить ограничение верхнего уровня subview для супервизора. И в то же время назначить покрытие с некоторой непрозрачностью. Таким образом, у меня могут быть разные версии subview, и я могу инициализировать необходимый и сдвинуть его.Слайд-ин UIView С нижней части

enter image description hereenter image description here

Я не мог найти что-нибудь полезное для Swift, поэтому, используя this obj-c answer, я попытался преобразовать его в Swift. Я достиг непрозрачного фона с этим, однако переводные ограничения не работают.

var coverView = UIView() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    coverView.backgroundColor = UIColor(white: 0.0, alpha: 0.4) 
    coverView.alpha = 1.0 
    self.view.addSubview(coverView) 
    self.view.bringSubviewToFront(coverView) 
} 

//doesn't work 
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView))) 
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView))) 

Я запутался в создании экземпляра и применении переходной анимации. Если я хочу создать UIView в ViewController, я не могу настроить ограничения для настройки equal width подзаголовка для наблюдения.

enter image description here

Как я могу использовать UIView, который я создал, как подвид (в раскадровку), а затем настроить его ширину ограничений, так что интерфейс не ошибка? Кроме того, как я могу применить переходную анимацию, чтобы она казалась естественной?

This link should be here...

+0

Я написал что-то вроде этого несколько лет назад. https://github.com/MosheBerman/MBMenuController – Moshe

+0

@EICaptain Ваш пример имеет смысл, однако я не хочу, чтобы он отображался на моем супер-UIView, вместо этого я хочу, чтобы он сформировался под надзором (внизу) и затем сместите его .. Как я могу использовать ограничения?Должен ли я попытаться получить высоту надзора, а затем поместить начало y для UIView? Я был бы благодарен за то, что вы услышали ответ от вас, если у вас есть время – senty

+0

@ Моше ваш контролер событий, не так ли? Вместо этого я не буду иметь настраиваемый вид. – senty

ответ

3

Я предложил использовать UIView файл XIb и создать свой вид затем загрузить в ваш контроллер представления.

Пример:

Шаг 1:

Создать XIB для просмотра enter image description here

Шаг 2: Установить цвет фона черный для этой точки зрения, непрозрачность 62% и альфа = 1 enter image description here

Шаг 3: Сделайте новый простой UIView и создайте свой фактический вид и установите ограничение.

Для Exp: enter image description here

В вашем случае набор зрения в нижней части. Шаг 4: Загрузить xib в поле зрения контроллера.

class calendarViewController: UIViewController 
{ 
    var popUpView: popUpView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     bookingConfirmView = NSBundle.mainBundle().loadNibNamed("popUpView", owner: self, options: nil).first as! popUpView 
    // Set Delegate for xib textField 
    self.popUpView.Name.delegate = self 
    self.popUpView.MobileNo.delegate = self 
    } 
} 

Шаг 5:

Добавьте эту строку, где вы хотите, чтобы заполнить вид.

self.view.addSubview(bookingConfirmView) 
self.bookingConfirmView.frame = self.view.bounds 
+0

Хорошо. Не могли бы вы добавить пример того, как добавить UIView xib в мой основной UIView и настроить ограничения , поэтому мой subview создается под нижней частью супервизора с добавленными ограничениями? – senty

+0

Теперь вы можете увидеть exp. –

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

  • Нет связанных вопросов^_^