排序
货拉拉iOS弹窗调度方案设计与实践
作者简介 jun.liu,货拉拉高级客户端工程师,主要负责货拉拉iOS移动端的开发工作。 一、背景 随着货拉拉移动端APP的业务不断的发展,为了兼顾需求迭代效率,以及降低项目的维护复杂度,我们做了...
深入了解 SwiftUI 5 中 ScrollView 的新功能
在 SwiftUI 5.0 中,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善的 API。本文将对这些新功能进行介绍,希望能够让它们更多、更早的帮助到有需要的开发者。 可以在 此处 获取完整的演...
Flutter组件化和平台化架构
什么是组件化/平台化 在App开发和架构设计时, 考虑如何去管理代码复用, 解耦 如何将功能进行分治,将大问题分解成多个独立的小问题。 组件化和平台化就是App开发中最流行的分治手段。 本节不仅...
SwiftUI 入门教程 – 用户交互状态管理
在 SwiftUI 中,视图的状态管理分为两种:一种是只读的数据,称之为 Swift 的属性(Property);一种则是可读可写的,需要使用 State 进行数据绑定。子视图的状态管理都存在最近的公共祖先视图...
Metal 初见系列(2)- 使用 Metal 绘制视图的内容
创建一个 MetalKit View 并使用 render pass 来绘制视图的内容。 概述 作为 Metal 初见系列的第二篇,我们主要探索使用 Metal 渲染图形内容的基础知识。使用 MetalKit 框架创建一个视图,该视图...
Swift 最佳实践之 Pattern Matching
Swift 作为现代、高效、安全的编程语言,其背后有很多高级特性为之支撑。 『 Swift 最佳实践 』系列对常用的语言特性逐个进行介绍,助力写出更简洁、更优雅的 Swift 代码,快速实现从 OC 到 Swi...
WWDC 23 新增的系统框架
每年 WWDC 都会带来新的系统,新系统带来的新特性往往需要新的系统框架支持,或者是之前系统中未开放给开发者的功能。因此每年 WWDC 都会有新的系统框架发布,让开发者也可以方便的使用新系统的...
从一个异常动画现象中了解【SwiftUI】的动画类型
众所周知,一旦状态值发生改变(使用了动画修改),相关的View就会触发过渡动画。 异常动画现象 把动画时长调慢一点可以看到: 这个Button在动画过程中,会出现两个Text! 其中Button的代码如下...
WWDC2023 Xcode15 新特性
源于WWDC 视频 Discover the latest productivity and performance improvements in Xcode 15. Explore enhancements to code completion and Xcode Previews, learn about the test navigator ...
在 iOS Swift 开发中 简单地使用 XCFramework
最近工作中的开发内容涉及到 Framework 的开发和使用,遇到一些问题,也算是解决了。 这里有一些基本的配置,记录一下,还有 简单的 XCFramework 配置使用。干货儿满满,收藏点赞?! Framework ...
让 Xcode 15 拥有建置给 macOS 10.9 的能力
免责声明:理论上而言,用这招类推可以建置给早期版本的 iOS。但实际上管不管用我就没法保证了,因为我不是 iOS 程式师。 本文专门给那些需要在新版本系统当中用新版本 Xcode 将祖产专案建置给...
怎样让一款副厂 macOS 输入法使用与系统内建的拼音/注音输入法一样的展页阵列选字窗?
本文仅对 macOS 10.14 开始有效。macOS 10.13 为止的系统虽然不需要像本文一样用 bridging-header 桥接报头来强制曝露 InputMethodKit (简称 IMK) 内部的 API,但 macOS 10.13 为止的系统内建的...
APM – iOS 卡顿监控 Hang
简介 Hang APP一段无响应的阶段,由于主线程忙于其他任务或者等待其他线程或者系统资源,导致视图内容更新延迟至少250ms Main Loop 用户与设备进行交互,Runloop接收事件,处理事件,有需要的情...
Flutter布局和渲染流程
图像显示原理 CPU负责图像数据计算, 然后交给 GPU GPU负责图像数据渲染, 渲染后放入帧缓冲区 视频控制器根据垂直同步信号(VSync)以每秒60次的速度,从帧缓冲区读取帧数据交由显示器完成图像显...
iOS开发中的离屏渲染
离屏渲染的定义 在显示屏上显示内容,需要一块与屏幕像素数据量一样大的frame buffer来作为像素数据存储区域,而这也是GPU存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写...
iOS气泡提示工具BubblePopup的使用
BubblePopup 气泡弹框,气泡提示框,可用于新手引导,功能提示。 在平时的开发中,通常新手引导页或功能提示页会出现气泡弹窗来做提示。如果遇到了这类功能通常需要花费一定的精力来写这么一个...
选家电 用AR — AR-GO
背景 目前家电和家具的购买方式主要分为两种:线下实体店用户参考实物后选择合适的家电购买、线上购买。随着线上购物的普及,越来越多的用户选择线上购买家电/家具。无论线上还是线下,购买大件...
Swift 周报 第三十期
前言 本期是 Swift 编辑组自主整理周报的第二十一期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加...
WWDC 23 ,SwiftUI 5 和 SwiftData 的初印象
WWDC 2023 正在如火如荼地进行。苹果不仅带来了全新形态的硬件产品,还推出了几个相当震撼的新框架。本文将聊聊我对本届 WWDC 中 SwiftUI 5.0 和 SwiftData 的初步印象。 原文发表在我的博客 w...
macOS Menu Bar + NSWindowController
macOS Swift 原生项目集成 Python3 运行环境 最近想开发一个基于 Menu Bar 的项目,然后把 NSWindowController 作为内容展示和交互。看到很多的教程都是在 Menu Bar 上添加 NSPopover,然后配合...