У меня есть вид, который должен двигаться вверх, как ящик со дна экрана. Но это ничего не значит. Он просто сидит там =) Может кто-нибудь скажет мне, почему это так?View is an animate
Это мой код:
import UIKit
class InfoPopUpVC: UIViewController {
var superView: UIView!
var labelText: String!
let textLabel = UILabel()
let height = CGFloat(80)
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIView.animateWithDuration(0.4, animations: {() -> Void in
self.view.center.y = 50
})
}
override func viewDidLoad() {
super.viewDidLoad()
setupTextLabel()
view.frame = CGRectMake(0, superView.frame.maxY-height, superView.frame.width, height)
AnimationHelper.blurBackgroundForView(view)
view.backgroundColor = .greenColor()
}
func setupTextLabel(){
textLabel.text = labelText
textLabel.frame = CGRectMake(0, 0, view.frame.width, view.frame.height)
textLabel.numberOfLines = 3
textLabel.textAlignment = .Center
textLabel.frame.inset(dx: 10, dy: 8)
textLabel.sizeToFit()
textLabel.font = UIFont(name: "HelveticaNeue-Light", size: 17)
textLabel.textColor = .whiteColor()
view.addSubview(textLabel)
}
}
Вы используете автозапуск? Если это так, меняющиеся центры и рамки не будут перемещать представления. – Jack
InfoPopUpVC называется программным, когда я хочу, чтобы PopUp снизу отображал некоторую информацию. ViewController PopUp добавлен, поскольку subview использует autolayout, но поскольку он называется программным способом, я не могу установить никаких ограничений. – gutenmorgenuhu
Неверно, что программные ограничения невозможно установить. Существует полный набор API-интерфейсов для добавления ограничений программным образом и множество литературы, описывающей, как это сделать. Прочитайте ссылку на NSLayoutConstraint в Xcode для введения (в частности, раздел о создании ограничений.) –