子のviewのalphaも親のalphaに引きづられてしまい、子のviewのalphaを1.0に設定してもどちらも半透明になってしまう。
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100,100)];
view.alpha = 0.5;
[self.navigationController.view addSubview:view];
UIView* childView = [[UIView alloc] initWithFrame:CGRectMake(25, 25, 50,50)];
childView.backgroundColor = [UIColor whiteColor];
childView.alpha = 1.0;
これを解決するにはviewではなく、background colorのUIColorのalphaを変える必要がある。
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100,100)];
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];
[self.navigationController.view addSubview:view];
UIView* childView = [[UIView alloc] initWithFrame:CGRectMake(25, 25, 50,50)];
childView.backgroundColor = [UIColor whiteColor];
0 件のコメント:
コメントを投稿