关于NSStringFromClass的一点见解

本文介绍了一种在iOS开发中实现自定义弹框的方法,通过创建与父View相同大小的透明View并将其添加到window中,再将子View添加到此透明View上,从而屏蔽父View的手势,确保用户只能与弹框交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做项目的时候遇到一个需求,就是子view视图弹出时,屏蔽掉父view的所有手势,然后想到用

UIGestureRecognizerDelegate代理方法,中间省一些文字(无奈脸),言归正传,NSStringFromClass其实是用来判断类型的,看代码

MyModel *model=[MyModel  alloc] init];

Bool dd=NSStringFromClass([[model class]isEqualToString:@"NSDictionary"]);
//判断model是否为NSDictionary类型

好尴尬的我。。。。屏蔽掉父view的所有手势直接创建一个大小高度和父view一样的view,将view添加到window中,在将子view添加到view,此时可以在子view进行所有手势,点击到父view时是没有反应的。上代码

UIWindow *window = [UIApplication sharedApplication].keyWindow;
    _vi_max=[[UIView alloc]initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, K_SCREEN_WIDTH, K_SCREEN_HEIGHT)];
    _vi_max.backgroundColor=[UIColor colorWithRed:153.0/255 green:153.0/255 blue:153.0/255 alpha:0.5];
    [window addSubview:_vi_max];
    _vi=[[UIView alloc]initWithFrame:CGRectMake((K_SCREEN_WIDTH-120)/2, (K_SCREEN_HEIGHT-80)/2, 120, 80)];
    _vi.backgroundColor=[UIColor whiteColor];
    [_vi_max addSubview:_vi];

    UIButton *quxiao=[[UIButton alloc]initWithFrame:CGRectMake(0,0, 50, 50)];
    [quxiao setTitle:@"取消" forState:UIControlStateNormal];
    quxiao.backgroundColor=[UIColor orangeColor];
    [quxiao addTarget:self
                             action:@selector(BtnClick_About_us:)
                   forControlEvents:UIControlEventTouchUpInside];
    [_vi addSubview:quxiao];

一般用于自定义弹框。      图示:

转载于:https://www.cnblogs.com/sheer-code/p/10255988.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值