質問

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

私はなんとか次を遂行しました: *スーパーワークにサブビューを追加します。 *このモーダルビューを中心にしました

私は今、uiviewの背後にある要素をlicklickableできないようにしようとしています。また、ユーザーがモーダルビューが焦点のビューであることを理解するように、私のモーダルビューの灰色の影を追加します。

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

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

役に立ちましたか?

解決

最も簡単なことは、フルスクリーンを敷設することです UIView 「モーダル」ビューの後ろに半透明の灰色の背景があります。その後、すべてのタッチを傍受します。それは次のように見えるかもしれません:

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

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

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

他のヒント

それを行う方法はいくつかあります。カスタムロケーションがあるカスタムビューがある場合は、次のように変更できます。

インスタンスを作成します var:

UIView* backgroundView;

必要なときはいつでも、カスタムビューの後ろに置いてください。

if (backgroundView == nil)
        backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width)];
backgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f];
[self.view addSubview:backgroundView];
[backgroundView animateBump:customView.view];
[backgroundView addSubview:customView.view];

もう必要ないとき

   [backgroundView removeFromSuperview];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top