登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

iOS放大镜

[复制链接]
来自: iBahs 分类: iOS精品源码 上传时间: 2018-3-11 14:18:11
Tag:

项目介绍:

DSMagnifierView是一个有放大镜子效果的自定义控件。

其实很简单,就是把UIWindow的图层给渲染到DSMagnifierView上。

由于这个放大镜要处于屏幕最上层,最好是UIWindow的子类,这样可以设置它的视图层级。

使用方法

1.初始化后设置用来渲染的视图renderView。

- (DSMagnifierView *)magnifierView {
    if (nil == _magnifierView) {
        _magnifierView = [[DSMagnifierView alloc] init];
        _magnifierView.renderView = self.view.window;
    }
    return _magnifierView;
}

2.在触摸屏幕的时候设置magnifierView的frame和渲染点renderPoint。

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesMoved:touches withEvent:event];
    
    NSLog(@"touching");
    
    // 获取触摸点
    UITouch *touch = [touches anyObject];
    CGPoint p = [touch locationInView:self.view];
    
    //window的hidden默认为YES
    self.magnifierView.hidden = NO;
    
    //设置magnifierView的frame
    self.magnifierView.frame = CGRectMake(0, 0, 150, 150);
    self.magnifierView.center = p;
    
    //设置渲染的中心点
    self.magnifierView.renderPoint = p;
}

3.用完后销毁

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    
    //用完一定要记得置nil。
    self.magnifierView = nil;
}

4.最后带上链接:GitHub地址

相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
无限释囚 2018-3-12 09:50:06
感谢大神~
回复
BlueManlove 2018-3-12 09:50:16
相当不错,感谢无私分享精神!
回复
Yf8546 2018-3-12 09:50:17
内容很好,棒棒哒
回复
天天bug 2018-3-12 09:50:59
code4app好的代码demo真的很多,谢谢啦~
回复
android小哥 2018-3-12 09:51:18
内容很好,棒棒哒
回复
op568f 2018-3-12 09:51:38
不错不错,楼主辛苦了。。。
回复
code4app热心网友 2018-3-12 11:25:24
学习学习!
回复
code4app热心网友 2018-3-12 13:26:44
学习学习!
回复
code4app热心网友 2018-3-13 10:59:30
正需要啊,感谢楼主无私分享!
回复
提取码:  下载次数:30 状态:已购或VIP 售价:0(原价:15)金钱 下载权限:初级码农 
566 0 30
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表