私のUIViewに追加されたサブビューがあります。アイデアは、サブビューがuibuttonsを持つホバリングパネルであるということです。サブビューには、ユーザが背後にあるものを見ることができる必要があるため、0.2のアルファが与えられます。iPhone SDK:透過表示の不透明なサブビュー
問題は、サブビューにuibuttonを追加すると、サブビューからアルファを継承するということです(ボタンを非透明にし、アルファ1.0を使用したい)。私はuibuttonsを反復し、アルファを1.0に戻し成功させてこの問題に取り組もうとしました。ソリューション?
// Create the subview and add it to the view
topHoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
topHoverView.backgroundColor = [UIColor blackColor];
[topHoverView setAlpha:0.2];
[self.view addSubview:topHoverView];
// Add button 1
button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setFrame:CGRectMake(20, 10, 80, 30)];
[button1 setTitle:@"New" forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(button1Action:) forControlEvents:UIControlEventTouchUpInside];
[topHoverView addSubview:button1];
// Add button 2
button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button2 setFrame:CGRectMake(120, 10, 80, 30)];
[button2 setTitle:@"Clear" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(button2Action:) forControlEvents:UIControlEventTouchUpInside];
[topHoverView addSubview:button2];
// Add button 3
button3 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button3 setFrame:CGRectMake(220, 10, 80, 30)];
[button3 setTitle:@"Delete" forState:UIControlStateNormal];
[button3 addTarget:self action:@selector(button3Action:) forControlEvents:UIControlEventTouchUpInside];
[topHoverView addSubview:d button3];
// Attempt to iterate through the subviews (buttons) to set their transparency back to 1.0
for (UIView *subView in topHoverView.subviews) {
subView.alpha = 1.0;
}
すてきな回避策。 –
ありがとう、フィリップ、私はIBを除いて同様のことをやろうとしていましたが、私が望む効果を得ることができなかっただけです。しかし、あなたの回避策は私にそれを手伝ってくれました。 – sherry