2017-03-23 3 views
0

私はUIViewを持っていますが、UILabel(それ以外は何も含まれていません)が含まれています。ビューを拡大縮小して、ラベルが拡大したり縮小したりしているように見せます(ボタンタップを使用)。私は、ビューの高さにNSLayoutConstraintを使用しています:UIViewとUILabelをスムーズに内部で照会

func labelExpansion() { 
    if (isExpanded) { 
     myViewConstraint.constant = shortLabelHeight 
    } else { 
     myViewConstraint.constant = longLabelHeight 
    } 
    UIView.animate(withDuration: 2.2, animations: { 
     self.view.layoutIfNeeded() 
    }) 
} 

問題があり、ラベルのテキストが、それは「ジャンプ」のように見えます。ラベルのサイズが変更されると、アニメーションが終了するまで、テキストの位置が変更され、ラベルがビューの先頭に正しく再描画されます。

また、周囲のビューを削除し、ラベルの高さの制約を調整することも試みました。それは同様に不安定だった。

アニメーション中にこのジャンプを停止し、ラベルの上部をビューの上部に固定するにはどうすればよいですか?

答えて

0

いくつかのことを試した後、私は簡単な解決策を見つけました:UILabelのコンテンツモードを「トップ」に設定してください。

myLabel.contentMode = .top 
関連する問題