0
私はUILabelをアニメーション化しようとしていますが、最初から上から40ポイントを終了するようにビュー内で縦と横の中央に配置されています。アニメーションの中心の垂直方向の拘束を上から固定
これは複数のデバイス/画面サイズ上にあるため、私はトップの制約を使うことはできないと考えています。アイテムは必ずしも正しい場所にはなく、同様にはありませんすべてのデバイスの高さで機能する '一定の値'にすること
これについてはどのような方法が最適ですか? 2つの制約があります.1つは縦の中心に、次にもう1つはアニメーションの終わりに一番上の位置に配置し、次にこれをアニメーションで切り替えます。
これまでのところ私はちょうど私のcenterY制約のためにIBOutletを持っていると私はそうのように上書きしてみました:
labelYConstraint = NSLayoutConstraint.init(item: titleLabel, attribute:NSLayoutAttribute.centerY , relatedBy: .equal, toItem: view, attribute: NSLayoutAttribute.top, multiplier: 0, constant: 40)
UIView.animate(withDuration: 2.0) {
self.view.layoutIfNeeded()
}
誰でも似た何かを達成するために管理しましたか?
クラッシュが何と言っていますか? – Connor
申し訳ありませんが、クラッシュがきれいになってしまったようですが、labelYConstraintを中央から上に変更するだけでアニメーションが表示されない – TommyBs
新しい値に設定する前に 'labelYConstraint.active = false'を設定してください。非アクティブ化する。 – Connor