私はこのような何かをプログラムする方法を見つけ出す必要があります。ユーザーはダウンボタンをクリックし、アップクリックした後の短いバージョンに戻って折るよう swiftで拡張可能なテキストフィールド/ラベルを作成するには?
テキストが拡大します。私が勉強できる図書館はありますか?私はプログラミングの初心者であり、このタスクにアプローチする方法、勉強するためのガイドなどについてアドバイスが必要です。
私はこのような何かをプログラムする方法を見つけ出す必要があります。ユーザーはダウンボタンをクリックし、アップクリックした後の短いバージョンに戻って折るよう swiftで拡張可能なテキストフィールド/ラベルを作成するには?
テキストが拡大します。私が勉強できる図書館はありますか?私はプログラミングの初心者であり、このタスクにアプローチする方法、勉強するためのガイドなどについてアドバイスが必要です。
でそれをアニメーション化することができますすることのnumberOfLines
を持っているあなたの後
は.byTruncatingTail
をする7と改行モードを言うことができます。
ボタンをクリックするだけで、numberOfLines
が0に、改行モードが.byWordWrapping
に変更されます。テキストを非表示にするには、ボタンを押してUILabel
を初期値に設定します。
UILabelの高さの制約を設定できます。また、タップボタンイベントでは、ラベルの内容に制約定数を変更できます。 UILabel
あなたがしなければならないのは、最初に設定されている
UIView.animate(duration)
この問題を解決するにはread約AutoLayout
です。これはどのように行うことができるかの小さな例です。
これはコーディングパートです。このクラスには、UITextView
とボタン操作の高さにはIBOutlet
が含まれます。
class ViewController: UIViewController {
let defaultHeight = 128
let expectedHeight = 600
var state: Bool = false
@IBOutlet weak var height: NSLayoutConstraint!
@IBAction func showAction(_ sender: Any) {
UIView.animate(withDuration: 0.3, animations: {
self.state = !self.state
self.height.constant = CGFloat(self.state ? self.expectedHeight: self.defaultHeight)
self.view.layoutIfNeeded()
})
}
}
これはストーリーボードからのものです。
あなたはどのようにアプローチする方法のアイデアを得ることができ、この答えを確認してください。 [リンク](http://stackoverflow.com/questions/20958175/ios-animating-uilabel-expand) – sudheer