我正在嘗試添加一個帶有 UIActivityIndi??catorView 的 UIView 似乎不起作用。任何幫助表示贊賞。
UIView *overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
overlayView.backgroundColor = [UIColor colorWithRed:255 green:255 blue:255 alpha:1];
UIActivityIndicatorView* activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityIndicator.center = overlayView.center;
[overlayView addSubview:activityIndicator];
[activityIndicator startAnimating];
UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window];
[keyWindow addSubview:overlayView];
也嘗試像這樣添加它
[self.navigationController.view addSubview:overlayView];
[self.navigationController.view bringSubviewToFront:overlayView];
似乎作業,但導航欄沒有被隱藏
uj5u.com熱心網友回復:
可以像這樣向當前顯示的控制器添加疊加層:
- (void)viewDidAppear:(BOOL)animated; {
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
overlayView.backgroundColor = [UIColor blackColor];
overlayView.alpha = 0.8;
[self.view.window addSubview:overlayView];
}
此疊加層應覆寫所有當前視窗。
uj5u.com熱心網友回復:
在您的 viewcontroller 類中,使用以下代碼來顯示您的疊加視圖。
UIView *overlayView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[overlayView setBackgroundColor:[UIColor colorWithWhite:0.5 alpha:0.7]];
[self.view.window addSubview:overlayView];
這里的關鍵是使用 viewcontroller 的 view 的 window 物件,以便在NavigationController或 的情況下TabBarController,完整的視圖與導航欄和/或標簽欄一起覆寫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/396901.html
