Как получить полупрозрачный вид при нормальных дочерних представлениях - PullRequest
3 голосов
/ 22 февраля 2012

У меня есть производный класс UIViewController, и я хотел бы иметь подпредставление, которое не является прозрачным, в то время как его родительское представление (основное UIViewController.view) имеет прозрачность 50%.

На контроллереклассы viewDidLoad, я устанавливаю альфа-значение представления и подпредставления.Однако я вижу, что и базовый вид, и подпредставление полупрозрачны.Есть ли способ не допустить этого?

// Class declaration
@interface MyViewControllerClass : UIViewController
{ }
@property (nonatomic, strong) IBOutlet UIView  *contentView;
@end

// Class implementation
- (void)viewDidLoad
{
    // I want the main view to be a transparent overlay
    [self.view setBackgroundColor:[UIColor lightGrayColor]];
    [self.view setAlpha:0.5];

    // This is the subview I want to look normal
    [self.contentView setAlpha:1.0];
    [self.contentView setOpaque:NO];

    [super viewDidLoad];
}

1 Ответ

3 голосов
/ 22 февраля 2012

Вы не можете этого сделать. Вы должны организовать свои взгляды по-другому, чтобы получить желаемый эффект. Попробуйте добавить другой UIView к основному виду и установите вместо него прозрачность 50%. Таким образом, ваши другие предметы могут оставаться на главном экране и не будут затронуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...