2016-10-14 3 views
0

この質問は何度か尋ねられましたが、私はSwift 3.0を使用する実装を探しています。明確にするために、私はテキストビューではなくテキストビューを持っています。TextView Edit Swift 3.0のビューを上に移動

私は...このような何かをやってviewDidLoad()

を試してみました:

NotificationCenter.default.addObserver(self, selector: Selector(("keyboardWillShow")), name:NSNotification.Name.UIKeyboardWillShow, object: nil); 
NotificationCenter.default.addObserver(self, selector: Selector(("keyboardWillHide")), name:NSNotification.Name.UIKeyboardWillHide, object: nil); 

その後、私はViewControllerをでこれらのメソッドを作成しました:私は選択したときに

func keyboardWillShow(sender: NSNotification) { 
    self.view.frame.origin.y = -150 
} 

func keyboardWillHide(sender: NSNotification) { 
    self.view.frame.origin.y = 0 
} 

は私がクラッシュを取得テキストビュー

答えて

1

下記のようにオブザーバーコードを変更する必要があります。 Swift 3移行ガイドに従って、これは通知のオブザーバーを宣言するために従うべき新しい方法です。

コード:

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil) 

    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillShow, object: nil) 

私は、テキストビューと通知センターでデモコードでこれを確認しています。

これはスウィフト3.0のために動作しません

0

https://github.com/hackiftekhar/IQKeyboardManagerを使用し、キーボードの問題は気にしません。まだtextviewのデフォルトの動作を実装したい場合は、クラッシュを指定してください。

+0

...コーディング

ハッピー...それがお役に立てば幸いです。それはそうだと言いますが、私はちょうどそれをポッドと一緒に働かせようとするのに30分を費やしてしまい、それはうまくいきませんでした。しかし、推薦に感謝します。 – BlackHatSamurai

関連する問題