做出的viewController透明目前,我試圖讓這應該出現在同一時間2次小的演示應用程序:離不開EXC_BAD_ACCESS
- The first one, BaseViewController, is a classic controller with 2 buttons
- The second one, OverViewController, is launch on top of baseView and contains
a last button, and is supposed to be transparent and sending the touch controls
to the first one
兩者的viewController有他們的廈門國際銀行。要清楚:rootView - >基本視點+概述(透明)
我的問題是不從第二視圖的先發控事件,而是使第二視圖的透明和functionnal。
這裏是我試過到目前爲止:
1)------------呈現兩個視圖控制器------------
從應用RootViewController的:
- (IBAction)buttonClicked:(id)sender
{
OverViewController *overVC = [[OverViewController alloc] init];
[overVC presentViewControllerFrom:self];
}
從OverViewController:
- (id)init
{
self = [super init];
if (self)
{
self.base = [[BaseViewController alloc] initWithNibName:@"BaseViewController" bundle:nil];
}
return self;
}
我做了一個自定義的方法來使overView呈現之前呈現的baseView。
- (void)presentViewControllerFrom:(RootViewController *)sender
{
[sender presentViewController:self.base animated:NO completion:nil];
self.view.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.0];
self.view.opaque = NO;
[self.base presentViewController:self animated:YES completion:nil];
}
此時,出現baseView,接着是overView。 overView按鈕正常工作。太好了!但是,overView的背景並沒有顯示背後應該保留的黑色。沒有alpha透明度。
2)------------呈現所述基本視圖和添加概述作爲一個子視圖------------
從應用RootViewController的(比前一次)相同:
- (IBAction)buttonClicked:(id)sender
{
OverViewController *overVC = [[OverViewController alloc] init];
[overVC presentViewControllerFrom:self];
}
從OverViewController(未呈現,但加入子視圖):
- (void)presentViewControllerFrom:(RootViewController *)sender
{
[sender presentViewController:self.base animated:NO completion:nil];
self.view.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.0];
self.view.opaque = NO;
[self.base.view addSubview:self.view];
}
這一次,透明度很好,但任何觸摸overView按鈕都會導致出現EXC_BAD_ACCESS。
我在那裏,想知道如何做到這一點。任何幫助將不勝感激 ! :)
嗨,你好!感謝你及時的答覆。這是我在嘗試這兩種情況時得出的結論。我嘗試了2個addSubviews但同樣,該應用程序觸發了一個EXC_BAD_ACCESS。我會嘗試你的最後一行想法,我很快回來。 – shinyuX
完成,這確實是一個概念錯誤。謝謝 ! – shinyuX