2016-12-12 2 views
3

iOS 9.3.5以前では、ビューコントローラでdisablesAutomaticKeyboardDismissal = true にアプリがクラッシュし始めました。クラッシュon disablesAutomaticKeyboardDismissal

私が取得しています:

-[ViewController setDisablesAutomaticKeyboardDismissal:]: unrecognized selector sent to instance

は、この問題を回避するには、エレガントな方法はありますか?私はプロジェクトでSwiftを使用しています。

+1

あなたはこのあなたのViewController 'FUNC disablesAutomaticKeyboardDismissal()をオーバーライドする必要があります - 私は、これはiOSの8上ではなく、iOSの10になりましクラッシュする理由でずっと興味>ブール」{ リターン真 }' –

+0

を?特定のAPI警告は表示されません。 Xcode 8でアプリケーションをアップデートする前に、これまでうまく動作していました。 – Yaroslav

+0

@jatinkumarmalanaは正しい方向に向いていると思います。私はプロパティを上書きし、それは動作します。しかし、getメソッドとsetメソッドを提供する必要があります!私は次のようになりました:override var disablesAutomaticKeyboardDismissal:Bool { get {return false} セット{} } – matzino

答えて

1

私はそれがバグだと確信しています。このようなことは決して起こらないはずです。

また、このAPIを使用する正しい方法は、値を設定しないでUIViewControllerのこのプロパティを上書きしているようです。

override var disablesAutomaticKeyboardDismissal: Bool { 
    get { return true } // or false 
    set { } 
} 

チップのためのmatzinoに感謝します。

+0

回避策を見つけましたか? – matzino

+0

@matzino no。私は自分のコードからこの行を削除しました。私はこの問題に関してAppleからも何の反応もなかった。 – Yaroslav

+1

@matzino多分値を設定するのではなく、UIViewControllerの 'disablesAutomaticKeyboardDismissal'プロパティをオーバーライドしようとするべきです。私はそれを試したことはありませんが、うまくいくと思いました。 – Yaroslav

0

キーボードを却下する方法もあります。あなたはちょうどあなたがキーボードを閉じる必要がする必要がある場合

self.view.endEditing(true) 

を記述する必要があります。