这是可能的,尽管有很多步骤很容易忘记。在努力让这个工作 4 小时后,我想出了以下解决方案。
1 - 像其他任何东西一样创建视图控制器。
头文件
#import "DDBaseViewController.h"
@interface DDHomeSearchLoadingViewController : UIViewController
@end
实现文件
#import "DDHomeSearchLoadingViewController.h"
@interface DDHomeSearchLoadingViewController ()
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityMonitor;
@property (weak, nonatomic) IBOutlet UIView *modalView;
@end
@implementation DDHomeSearchLoadingViewController
#pragma mark - UIViewController lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupUI];
}
-(void) setupUI
{
[self makeRoundedCorner:self.modalView AndCornerRadius:6.0f];
[self.activityMonitor startAnimating];
}
-(void) makeRoundedCorner:(UIView*) view AndCornerRadius:(float) cornerRadius
{
[view.layer setCornerRadius:cornerRadius];
[view.layer setMasksToBounds:YES];
}
@end
2 - 将您的容器视图背景颜色设置为 ClearColor
3 - 添加一个 UIView,它将像叠加层一样呈现
4 - 添加一个 UIView,它将像一个对话框一样呈现在覆盖 UIView 上
当您添加/移动它时,请确保它位于覆盖视图之外。出于某种原因,当您使用鼠标移动它时,它会自动添加到覆盖 UIView。 (说实话真烦人)
5 - 为您创建的视图设置 Storyboard ID
6 - 最后在你不想调用它的地方添加这段代码(假设它也是一个 UiViewController)
DDHomeSearchLoadingViewController* ddHomeSearchLoadingViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"DDHomeSearchLoadingViewController"];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:ddHomeSearchLoadingViewController animated:YES completion:nil];
希望对大家有帮助
干杯