web-dev-qa-db-ja.com

UIViewは範囲外の場合に子ビューを非表示にします

私はビューを持っています、100x100としましょう。そして、サブビューとしてuiviewsのセットがあります:30x30としましょう

サブビューに左上座標がある場合:(90,90)-このサブビューの一部のみが表示されると予想されます。しかし、私はまだ全体の領域を見ています-それが親の範囲外であっても

問題は、元の境界内にあるサブビューの部分だけを表示するようにuiviewを作成する方法ですか?

ありがとうございました

63
user349302

ビューのclipsToBoundsプロパティをYESに設定します。

プログラムで:view.clipsToBounds=YES;

インターフェイスビルダーを介して:Click the view->Attributes Inspector->Check Clip subviews

140
Vladimir

親ビューで「クリップサブビュー」を有効にしたいと思います。

8
jd.

ドキュメントには、UIViewのclipsToBoundsプロパティが描画を境界にクリップする、またはより正確にはサブビューがスーパービューの境界の外側に描画できないと書かれています。

詳細については、SO post

IView clipsToBoundsプロパティ:パフォーマンスは向上しますか?

6
Jhaliya

実際、ストーリーボードから、親UIViewの[クリップサブビュー]チェックボックスをオンにします。これは私のために働いた方法です。

3
Maria Stoica