view添加在window上面 在view上弹出UIAlertController
首先呢
UIAlertController是presentViewController 属于模型跳转 模型是vc才可以present 所以把添加在window上面的view赋值个vc 在vc上面进去present
AppDelegate *delegate =(id)[UIApplication sharedApplication].delegate;
UIViewController *vc = [[UIViewController alloc] init];//实例化一个vc
vc.view = self.typeView;//self.typeView这个是添加在window上面的view
[delegate.window addSubview:vc.view];//添加
/* 弹出相册 */
WS(weakself);
_typeView.block = ^{
UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnull action) {
}];
UIAlertAction *camera = [UIAlertAction actionWithTitle:@"打开相机" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
[weakself takePhoto];
}];
UIAlertAction *picture = [UIAlertAction actionWithTitle:@"打开相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
[weakself localPhoto];
}];
[alertVc addAction:cancle];
[alertVc addAction:camera];
[alertVc addAction:picture];
[vc presentViewController:alertVc animated:YES completion:nil];
};