2017-04-07 3 views
1

なぜこれが起こっているのか分かりませんが、基本的にはUITextFieldで構成されるスタティックセルがあります。 inputViewUIPickerViewであり、そのinputAccessoryTypeUIToolBarです。resignFirstResponderが呼び出されるまで、UITextFieldは内容に合わせて自動的に幅のサイズを変更しませんか?

私はそうのようにそれを作成しました:

​​

そして、これは、それがストーリーボードに設定されている方法です。

enter image description here

のViewControllerが最初にロードされると、textField.text値はんですサイクルですが、これは問題ありません。私はすなわち半月刊、2行目を選択しUIPickerViewをスクロールするときただし、テキストはカットオフされますので、同じよう:

enter image description here

私はを呼び出すためにUIBarButtonItemを完了打つまではそれがありません enter image description here

私はかなりunderstanない:textFieldの幅は自動的にそのような文字列半月間の内容に合わせてexandsことtextField.resignFirstResponderなぜこれが起こっているのですか?

答えて

0

テキストフィールドに「先頭、末尾、上端、固定高さの制約」を設定すると、問題は解決します!先頭と末尾の両方を設定できない場合は、固定幅を設定する必要があります。

+0

固定幅を設定すると、テキストフィールドはテキストの内容に基づいて自動的に幅を調整しません。テキストフィールドが必要でない場合は、幅の広い領域を占めることは望ましくありません。 Horizo​​ntal 'Hugging Priority'よりも幅の優先度を低く設定することがポイントだと思いましたか?私はセルの左端に 'UILabel'があるので、Auto-Layoutでこれを達成しようとしています。 – Pangu

+0

また、最小のフォントスケールまたはサイズを設定することができます。テキストが大きい文字列の場合は、フォントサイズをラベルに合わせて縮小します。それはあなたのために適切な場合!あなたの質問に投稿したあなたの現在のアプローチの2番目のことは、あなたのdidselectrowメソッドでlayoutifneededまたはlayoutsubviewsを呼び出すことです。 – Lion

+0

私の要件は、テキストが大きい文字列の場合は、フォントサイズを同じにして、縮尺しないことです。前述のように、私はこれが 'Hugging Priority'で世話をしたと考えました。 – Pangu

関連する問題