7

私はで働いていiOS 6ます。UIViewControllerいくつかの選択を除いて、画面上のすべてを暗くする (つまり、より暗い色合いを追加する) 簡単な方法はありますUIImageViewsか?

同様に、目標は、暗くない画像を際立たせることです。ユーザーは、それらが有効または選択可能な唯一のタップであることを明確に認識しています。ユーザーが有効なUIImageViewsをタップするUIImageViewと、画面は通常に戻ります。

明確にするために、透明な0.5アルファレイヤーを追加するなど、他のすべてを消したいだけでなく、暗くしたいだけです。

私はここを見ました: Darken view as if disabledであり、非常に関連性が高いようです。また、スーパービューのすべてのサブビューでマスキング コードを実行しても、画面全体をカバーすることはできないと思います。UIImageViewUIViewControllerUIImageViews

ご協力いただきありがとうございます。

4

2 に答える 2

11
UIView *blackView = [[UIView alloc] initWithFrame:someFrame];
blackView.backgroundColor = [UIColor blackColor];
blackView.alpha = 0.5;
[self.view addSubview:blackView];
for (UIImageView *imageViewToShow in self.view.subviews) {
    [self.view bringSubviewToFront:imageViewToShow];
}

これにより問題が発生する場合は、コードを再設計して、イメージをある種の containerView 内に保持することを検討してください。その後、代わりに使用できます[self.view insertSubview:blackView belowSubview:containerView];。その後、必要に応じていつでも blackView のアルファと非表示の側面を操作できます。あなたのデザインがそれを保証するなら、画像が作成される前にblackViewを追加して、コンテナビューのミードも省略できます...

于 2013-11-08T08:50:27.547 に答える