2

スーパービューよりも小さい UIView があるので、ボタンがクリックされたときにこのビューをモーダル ビューとして表すことができます。

私は次のことを行うことができました: * サブビューをスーパービューに追加します。* このモーダル ビューを中央に配置

私は今、UIView の背後にある要素をクリックできないようにしようとしています。また、モーダル ビューの側に灰色の影を追加して、モーダル ビューがフォーカスされているビューであることをユーザーが理解できるようにします。

これを達成する方法を知りたいです。

プレゼンテーション モーダル トランジションを使用したくありません。私はこれを知っており、他のプロジェクトですでに実装しています。どんな助けでも大歓迎です。

4

2 に答える 2

11

UIView最も簡単な方法は、「モーダル」ビューの背後に半透明の灰色の背景を持つフルスクリーンを配置することです。次に、すべてのタッチを傍受します。次のようになります。

UIView *dimBackgroundView = [[UIView alloc] initWithFrame:theSuperview.bounds];
dimBackgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f];

[theSuperview addSubview:dimBackgroundView];
[theSuperview addSubview:modalView];

今後の参考のためmyView.userInteractionEnabled = NOに、ビューでのタッチ イベントを無効にするように設定できます。

于 2011-01-07T17:13:38.737 に答える