240 发简信
IP属地:广东
  • CVPixelBufferRef -> CIImage -> CGImage,把低级对象逐层封装成高级对象,利用CoreGraphics做旋转,然后逐层解封还原,比较耗性能。用VideoToolBox获取yuv或者rgb数据,利用libyuv做旋转可以解决。如果PixelBuffer是交给OpenGL或Metal渲染,旋转是矩阵运算,还是把旋转交给它俩做比较好

    CVPixelBufferRef 旋转及设备方向问题

    旋转 方向

  • UITabBarItem 双击事件

    业务需求:在选中某一Tab后,为其添加单击和双击事件(注意单击双击事件必须需独立,不能同时触发) 方案构思: 方案一:利用图层分析工具和KVC在UITabBarItem上添加...

  • 颜色选择器

    自iOS13之后,苹果加入大量的UI类。以前我就抱怨过苹果的UI控件少,API死板的问题。 iOS出现了两个UI类是关于颜色选择的。颜色选择的应用场景其实挺多的。如果自己去写...

  • UIButtonConfiguration

    前言 随着iOS的更新,大的变动似乎没有,小的变动却很多。而且国内的开发者和国外的有一个很大的不同点,就是国内的求稳,国外的求创新。我接手过的几个项目,最低支持的还有iOS7...

  • XCode设置迁移

    换工作站或电脑时,XCode里的字体颜色主题,CodeSnippets,快捷键设置等想同步到另一台电脑上。这些设置是存在~/Library/Developer/Xcode/U...

  • 字面值字符串的拼接

    仅仅是个编译器的小trick。实用价值不大。NSString *s1 = @"a" @"b" @"c"; => @"abc";NSString *s2 = @"a" "b" ...

  • dispatch_group封装

    之所以封装是因为,dispatch_group_leave()先执行会导致崩溃,为了安全执行性,进行封装 .h文件 .m文件

  • iOS 电子书大全

    目录 《Object-C编程之道》✅ 《iOS Core Animation:Advanced Techniques》✅ 《Advanced Swift》 《图解TCP/IP...

  • TCP三次握手和四次挥手的必要性

    只做两次握手和三次挥手可以吗? 1、三次握手 前提:C和S建立连接的充分必要条件是C和S能分别保证自己发送的信息对方能收到。 现在讨论:完成一次握手: C和S都不能保证自己发...

  • 120
    iOS-账号密码自动填充与添加

    前言 这个功能已经推出很久了,也在很多APP上都实现了这个功能,今天发现这个功能很友好以及手上的APP还未实现这个功能, 索性温习并记录一下。 密码自动填充简化了iOS应用和...

  • 关于启动页面的一点思考

    制作炫酷的启动界面一直是产品的追求,但很遗憾的是iOS不能完全做到这一点,我所已知的最好的解决方案是在didFinishLaunch方法里获取启动页面的图片作为动画的第一帧形...

  • iOS NSTimer 和 GCD 定时器及封装

    iOS NSTimer 和 GCD 定时器及封装 iOS NSTimer 不准时 NSTimer 内部是有 runloop 的,我们的runloop是一直跑圈的,我们的run...