首页 > 其他分享 >iOS开发之--全局解决模态弹出不全屏展示问题

iOS开发之--全局解决模态弹出不全屏展示问题

时间:2023-08-22 11:02:28浏览次数:36  
标签:completion -- void iOS class 全屏 animated UIViewController presentViewController

利用tuntime的特性,创建一个UIViewController的类别,然后再pch文件里面调用即可,代码如下:

.h

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIViewController (SKPVCModel)

@end

NS_ASSUME_NONNULL_END

.m

#import "UIViewController+SKPVCModel.h"
#import <objc/runtime.h>

@implementation UIViewController (SKPVCModel)

+(void)load{
       Method m1 = class_getInstanceMethod([self class], @selector(presentViewController:animated:completion:));
       Method m2 = class_getInstanceMethod([self class], @selector(skp_presentViewController:animated:completion:));
       method_exchangeImplementations(m1, m2);
}

- (void)skp_presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^ __nullable)(void))completion{
    viewControllerToPresent.modalPresentationStyle =  UIModalPresentationFullScreen;
    [self skp_presentViewController:viewControllerToPresent animated:flag completion:completion];
}

@end

这样的话,就可以了!

仅做记录!

作者:稻草人11223


标签:completion,--,void,iOS,class,全屏,animated,UIViewController,presentViewController
From: https://blog.51cto.com/u_13188203/7187001

相关文章

  • 常见结构体 日期 字符串的操作 很实用
    取余和取整:常用结构体的操作:日期的操作: 字符串的操作: 作者:稻草人11223......
  • ios中隐藏导航栏后,modal时出现白色闪动
    从无导航页面导航进到下级页面,导航栏一闪而过,也很简单,再在压栈控制器里面再坐下处理,代码如下:-(void)viewWillDisappear:(BOOL)animated{[superviewWillDisappear:animated];if(self.parentViewController.childViewControllers.count>0){[self.navigati......
  • xib view frame 大小调整
    1、IOS-xib(InterfaceBuilder,view)-can'tchangeviewsize(view不能改变大小问题)很多时候,我们自定义tableview、collectionview的cell,也有时候我们要自定义窗口xib,但创建xib后,其height、width不可修改。这时问题就来了,怎么才能使我们的自定义xib宽高可修改:项目中创建xib......
  • iOS学习之--字符串的删除替换(字符串的常用处理,删除,替换)
    字符串操作,比较简单,仅做记录!1、删除NSString*str1=@"<hello,word!>";//删除字符串两端的尖括号NSMutableString*mString=[NSMutableStringstringWithString:str1];//第一个参数是要删除的字符的索引,第二个是从此位开始要删除的位数[mStringdeleteCh......
  • iOS开发之--为UITextField监听数值变化的三种方法
    项目中有个验证码输入直接验证跳转页面,用的RAC来监听textfield的输入值,如下:@weakify(self);[self.codeView.textField.rac_textSignalsubscribeNext:^(NSString*value){@strongify(self);self.value=value;//也可以直接在这里写想要......
  • 我的第一个electron
    安装步骤参考:https://www.electronjs.org/zh/docs/latest/tutorial/quick-start 拉取镜像关于拉取  electronmodule镜像遇到的问题失败的解决方案(对于别人来说可能好使)https://blog.csdn.net/Akua_/article/details/132102805我在我的  C:\Windows\System......
  • 修改MySQL字符集
     修改MySQL字符集1. net start mysql2. mysql -u用户名 -p密码3. SHOW VARIABLES LIKE 'character_set_%'; 在mysql下找到my.ini文件[mysqld]character-set-server=utf8 [client]default-character-set=utf8 [mysql]default-character-set=utf8......
  • bfs 双向宽搜
     1、迷宫问题,找最短路:可以同时从起点和终点进行bfs,两个方向搜索的新节点分别存在不同的队列中的,若新节点在对面的状态集合中出现过,说明相遇了。2、很多bfs问题,都可以用双向宽搜,提高效率。3、分油问题,能不能用双向宽搜呢?3个无刻度的油瓶的容量是1073,其中分别有油10,0,0......
  • 关于Serverless服务的几点建议
    通过迅速灵活以及容量巨大的弹性伸缩,无服务器架构能很好地解决关键功能的性能瓶颈,但它并不是完美的:不仅需要修改设计去适应它,对熟悉的编程模型进行调整,还要解决诸如规划预算、安全等等问题。但总的来说,它为云上的应用提供了另一种选择——并且具有难以抵挡的诱惑:极大地简化应用......
  • 粗粒度可重构架构
    CGRA介绍粗粒度可重构架构(CGRA)是一种替代硬件平台,相比FPGA细粒度的可重构架构,由于CGRA内部的IS(ALU)模块已经构建完成(IssueSlot+RegistryFile+MUX构成的组合结构),且CGRA的interconnect也要比FPGA更简单、规模更小,其延时和性能要显著好于在门级上进行互连形成组合计算逻辑的FPGA......