# 老司机 iOS 周报 #298 | 2024-07-22

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/298.jpg?raw=true)
老司机 iOS 周报，只为你呈现有价值的信息。

你也可以为这个项目出一份力，如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们，我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## WWDC24 内参

### 🌟 [WWDC24 10104 - 使用 RealityKit 构建空间绘画 App](https://xiaozhuanlan.com/topic/9421058376)

[@Layer](https://github.com/LLLLLayer): RealityKit 是 visionOS 应用空间功能的基础。我们将以空间绘画 App 为例，探索资源在 RealityKit 中的运作方式，通过构建自定义网格、纹理和着色器、使用低级别网格和纹理 API 等，实现精致的视觉设计。

### 🌟 [WWDC24 10074 - 动态字体体验入门](https://xiaozhuanlan.com/topic/6789542301)

[@nuomi1](https://github.com/nuomi1): 使用动态字体功能实现一个演示 App，对比 SwiftUI 与 UIKit 在实现上的异同点。

### 🌟 [WWDC24 10118 - UIKit 新功能](https://xiaozhuanlan.com/topic/0679358421)

[@Sharker](https://github.com/AkaShark): 在 iOS 18 中，UIKit 经历了显著的改进，专注于提升用户界面的直观性和互动性。最引人注目的是全新的文档启动体验，它为应用提供了更多个性化展示的空间，同时优化了用户的首次文档创建流程。标签栏和侧边栏也经过了重新设计，不仅外观更加紧凑，还增加了新的定制功能，使得内容展示更为突出。强化了 SwiftUI 和 UIKit 之间的互操作性，特别是通过统一手势系统和允许 SwiftUI 动画类型直接应用于 UIKit 视图，极大地丰富了开发者在动画和交互设计上的选项。此外，UIKit 的 Trait 系统现在支持自动特性跟踪，简化了视图更新，提高了应用性能。为了进一步增强用户体验，iOS 18 引入了 UIUpdateLink ，它使得周期性的 UI 更新更为高效，并且通过感官反馈的改进，如对 Apple Pencil Pro 的支持，为 iPad 用户提供了更加丰富的交互反馈。文本编辑也得到了提升，新的文本格式化面板和写作工具为用户提供了更直观的编辑体验。总的来说，iOS 18 的 UIKit 更新为开发者提供了更多创新的工具和 API，以构建更加引人入胜和用户友好的应用界面。

## 新手推荐

### 🐎 [Blend Modes in SwiftUI](https://digitalbunker.dev/blend-modes-in-swiftui/)

[@Smallfly](https://github.com/iostalks)：这篇文章详细介绍了 SwiftUI 中的图层混合模式（Blend Modes），展示了如何通过这些模式增强图像的视觉效果。从基础的「正常」模式到复杂的「强光」和「颜色减淡」，每个模式都有详细的计算公式和效果展示。如果你想设计更有吸引力的视觉效果，推荐一读。

## 文章

### 🐕 [Mastering Animatable and AnimatablePair in SwiftUI](https://digitalbunker.dev/mastering-animatable-and-animatablepair-swiftui/)

[@水水](https://www.xuyanlan.com/categories/iOS/)：在本文中，探索了 SwiftUI 的 Animatable 和 AnimatablePair，并通过 Demo 代码和实际效果举例让大家了解如何使用这些 API 在应用程序中制作更高级的动画。

### 🐎 [Introducing Entry macro in SwiftUI](https://swiftwithmajid.com/2024/07/09/introducing-entry-macro-in-swiftui/)

[@EyreFree](https://github.com/EyreFree)：这篇文章介绍了 SwiftUI 中新推出的 `@Entry` 宏，它极大地简化了自定义环境键和聚焦值的创建过程。传统方法需要为每个自定义环境键创建符合 EnvironmentKey 协议的类型，而使用 `@Entry` 宏只需在 EnvironmentValues 的扩展中定义变量即可，大大减少了样板代码。文章通过示例展示了 `@Entry` 宏在环境值和聚焦值中的应用，强调了其简洁性和易用性。`@Entry` 宏不仅适用于环境值，还可用于事务、容器和聚焦值。它是向后兼容的，可以在之前的 Apple 平台版本中使用，为开发者提供了更高效的 SwiftUI 编程体验。

### 🐎 [Create Custom SF Symbols in Sketch ](https://www.danijelavrzan.com/posts/2024/06/create-custom-sf-symbols/)

[@zoeGuo](https://github.com/zoeGuo)：SF Symbols 是由苹果公司推出的一套系统图标，这篇文章作者介绍了如何用已有的 SF Symbols 简单修改获得自己想要的自定义 SF Symbols。通过简单的示例说明了怎么导入符号、调试、调整和优化等，操作简单易学，适合想自己做一些简单图标的初学者。

## 代码

### 🐎 [Charts](https://github.com/ChartsOrg/Charts)
    
[@极速男孩](https://github.com/ztlyyznf001)：DGCharts 是为 iOS、tvOS 和 macOS 平台设计的图表库，灵感来源于 Android 的 MPAndroidChart。除了基本的图表类型，如折线图、条形图、散点图和饼图，还支持自定义图表样式、高亮显示、图表交互、动态数据更新等高级功能。

## 内推

重新开始更新「iOS 靠谱内推专题」，整理了最近明确在招人的岗位，供大家参考

具体信息请移步：https://www.yuque.com/iosalliance/article/bhutav 进行查看（如有招聘需求请联系 iTDriverr）

## 关注我们

我们是「老司机技术周报」，一个持续追求精品 iOS 内容的技术公众号，欢迎关注。

**关注有礼，关注【老司机技术周报】，回复「2024」，领取 2024 及往年内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅：https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

## 说明

🚧 表示需某工具，🌟 表示编辑推荐

预计阅读时间：🐎 很快就能读完（1 - 10 mins）；🐕 中等 （10 - 20 mins）；🐢 慢（20+ mins）
