web-dev-qa-db-ja.com

iOS 7 UIDatePickerの高さの不一致?

IOS 7のStoryboardsでUIDatePicker要素を使用すると、奇妙なことに遭遇します。Storyboardでは、日付ピッカーの高さは162に固定されています。しかし、実際には、要素はそれ以上のスペースを占有します。したがって、この

Storyboard

これになります:

Simulator

そのため、日付ピッカーが実際にどのくらいのスペースを使用するかを推測し、目で見て、その下のすべてを下に移動する必要があります。これはバグですか?私は何か間違っていますか?明確にするために、日付ピッカーは完全に透過的です-その周りの方法を理解することはできません。上部の白い背景はメインUIViewで、灰色の背景はコンテナビュー内に埋め込まれたUITableViewの背景です。

40
Andrew

ストーリーボードでUI(Date)Pickerを使用すると、「現実」(216.0)とは異なる高さ(162.0)があることを確認できます。したがって、「実際の」日付ピッカーの高さに合わせてコンテナビューのスペースを調整するか、自動レイアウトを使用して解決する必要があります。

39
Florian Mielke

ここに私が見つけた面白いトリックがあります:UIDatePickerを高さ162ポイントの制約を持つ専用ビュー内に配置します(この新しいスーパービューにピッカーの上下から0ポイントの垂直制約を追加します)。これは、ピッカーに162ポイントのサイズを維持するように強制する効果があるようです。

サブビューをクリップするオプションを追加して、UIDatePickerが新しい刑務所から逃げないようにすることができます。

編集:さらにいくつかのテストの後、UIDatePickerに162ポイントの高さ制限を追加するだけで、「IBサイズ」を維持するようです。そして、@ Andrewのコメントに答えるために、次のようになります。

UIDatePicker constraint to 162 point in height

20
MonsieurDart

幅と高さの制約を指定するだけで、幅と高さを変更できます。そうしないと、UIDatePickerが奇妙な動作をするだけです。

1
C0D3

UIDatePickerオブジェクトでclipsToBoundsプロパティをYESに設定すると役立ちました。

datePicker.clipsToBounds = YES;

XIBの場合、クリップサブビューのチェックボックスを直接チェックできます。

0
iAkki