![](/img/trans.png)
[英]Storyboard - Open UIViewController as UIPopoverController
[英]no storyboard uiviewcontroller transparent over other uiviewcontroller
我的目標是在另一個uiviewcontroller之上呈現一個透明的uiviewcontroller ,以便后台將成為一個viewcontroller。
I'm NOT using storyboard.
現在我只是添加UIViews而不是UIViewcontrollers,一切運行良好,買問題是我覺得一個管理所有視圖的視圖控制器(可能很容易在一個單獨的視圖控制器中)認為是不好的做法 - 它只是沒有感覺對。
我正在考慮viewcontroller inside of my base viewcontroller
創建一個viewcontroller inside of my base viewcontroller
然后
[self addSubview:otherVC.view]
所以我得到的是一個視圖控制器,它將viewcontroller作為屬性並將其視圖顯示為子視圖。
那被認為是一種不好的做法嗎?
我該怎么辦?
self.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentModalViewController:modalVC animated:YES];
TNX。
當我需要制作透明視圖控制器時,我做了這樣的方法:
- (UIImage *)screenshot:(CGRect)cropRect {
UIGraphicsBeginImageContext(cropRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(ctx, -cropRect.origin.x, -cropRect.origin.y - [[UIApplication sharedApplication] statusBarFrame].size.height);
[self.view.window.layer renderInContext:ctx];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
然后我將它傳遞給透明視圖控制器並使其成為背景視圖
UIImage *bgImage = [self screenshot:self.view.window.frame];
transparentViewController.view.backgroundColor = [UIColor colorWithPatternImage:bgImage];
這樣的事情。 我可以為此目的使用另一種觀點,它不一定是self.view
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.