2017-02-14 17 views
0

ユーザがeditigを起動したときに、テキストフィールドの横にピッカーを表示したいとします。編集後、ピッカーが消えます。 テキストフィールドのIOS設定幅をプログラムで指定します

は、したがって、私はtextFieldDidBeginEditingに、このようなテキストフィールドの幅を変更:

func textFieldDidBeginEditing(_ textField: UITextField) 
{ print ("textFieldDidBeginEditing") 
    let newSize = CGSize(width: 90.0, height: textfield.frame.height) 
    let newFrame = CGRect(origin: textfield.frame.origin, size: newSize) 
    textfield.frame = newFrame 
} 

をtextFieldDidEndEditingでは幅が古い値にリセットされます。

これが再び変更されていないと(print文に達した)次の試行では、時間(beginEditing、endEditing)

What'sが間違っていると正常に動作します。

+0

あなたは正確に何をしようとしているのか説明できますか? – Rikh

+0

私はこの問題を発見したと思う。私は私の質問のコードで私の設定を上書きするいくつかの自動レイアウト制約を使用しました。 ここで、textFieldDidBeginEditingとtextFieldDidEndEditingの制約を編集します。投稿が再び開いた場合、私は解決策を投稿します – mica

答えて

1

テストプロジェクトですべてうまく動作しますが、新しいフレームを設定した後でtextfield.setNeedsDisplay()を挿入してみてください。

関連する問題