CHANGELOG.md

4.1.6

  1. 适配 Xcode15
  2. 移除 过期方法

4.1.6

  1. fix: 移除 ViewControllers 中 rootViewController 之后,新的 rootViewController 返回按钮显示不正确问题 #16
  2. 代码优化

4.1.5

最低支持 iOS11.0

4.1.4

  1. 修复 iOS14 以下系统无法拦截系统返回按钮点击事件问题
  2. 修复使用手势返回时返回按钮文字颜色闪变问题

4.1.3

  1. 转场 API 重构
  2. 添加指定返回上一个页面的代理方法

4.1.2

  1. 优化返回按钮图标显示效果;
  2. 统一返回按钮点击时的交互事件为 NXNavigationInteractiveTypeBackButtonAction;
  3. 修复初始化控制器时,interactivePopGestureRecognizer.delegate 没有设置的问题;
  4. 修复系统导航栏隐藏时 NXNavigationBar 没有隐藏的问题。

4.1.1

  1. 移除不必要的手势检查;
  2. 修复因检查全屏手势是否可用的过程中移除全屏手势而导致的 Pop 失败「页面卡住」的问题。

4.1.0

  1. 添加视图控制器转场周期事件逻辑,方便业务使用;
  2. 新增多个导航控制器页面转场方法,添加动画完成时的回调;
  3. 新增多个 Pop 的同时 Push、Present 一个新的视图控制器方法;
  4. 优化全屏手势判断逻辑;
  5. 优化视图控制器栈 Pop 控制器时的逻辑。

对于 UIViewController

对于 UINavigationController

4.0.4

4.0.3

4.0.2

4.0.1

4.0.0

重要更新‼️

3.6.4

3.6.3

3.6.2

3.6.1

3.6.0

优化准备配置信息开始生效前期的调用逻辑、大幅减少重复调用次数,此功能可以针对修改一些第三方库内部以及 SwiftUI 内部使用的导航栏。优化同时注册多个有继承关系导航控制器的配置信息查找逻辑。将 NXNavigationBar 类中注册导航控制器的逻辑移动到 NXNavigationConfiguration 类中。

  1. 添加系统导航栏返回按钮标题的自定义逻辑
  2. 添加转场动画示例代码。

3.5.3

3.5.2

3.5.1

优化 backImageInsetslandscapeBackImageInsets 属性处理方式,移除所有单例的使用。

3.5.0

统一默认偏好设置和外观设置的方式,方面使用。以下三种设置都可以在 NXNavigationConfiguration 中使用。

  1. NXNavigationBarAppearance 默认导航栏外观设置;
  2. NXNavigationControllerPreferences 默认导航控制器偏好设置;
  3. NXViewControllerPreferences 默认视图控制器偏好设置。

3.4.9

允许注册的导航栏控制器的子类使用基类的 NXNavigationBarAppearance 设置

3.4.8

代码逻辑优化

3.4.7

NXNavigationBar 可以跟随系统导航栏的显示隐藏。虽然不推荐使用系统方法隐藏或者显示导航栏,但还是要尊重开发者的需求,如果开发者自己设置了系统导航栏的隐藏那么 NXNavigationBar 也会隐藏,设置系统导航栏显示 NXNavigationBar 也会显示。这样也更加符合直觉,避免产生歧义。

3.4.6

  1. 框架代码优化,整理废弃 API,为后续 4.x 版本和 SwiftUI 作准备。示例代码适配 Xcode13。
  2. 将视图控制器的属性 nx_translucentNavigationBar 的属性设置为 YES 时,可以达到隐藏导航栏的目的(只是将导航栏变为透明,并不是真正意义上的隐藏,不推荐直接使用系统导航栏提供的显示或隐藏的方法)。但是这样设置之后会发现 self.navigationItem.title/titleView 还是存在的,这显然是不太符合的导航栏透明或者隐藏的语意。所以为了解决这个问题,现在设置 nx_translucentNavigationBar 属性为 YES 时,不仅会将导航栏设置为透明的,还会将导航栏上面的所有元素设置为透明或者隐藏的,这样导航栏的外观看起来才更加符合设置 nx_translucentNavigationBar = YES 的预期效果。

3.4.5

使用 nx_useSystemBlurNavigationBar 属性局限在于只能实现类似系统导航栏效果,而无法使用自定义颜色作为模糊效果的背景色,现在 nx_useBlurNavigationBarnx_navigationBarBackgroundColor 属性的配合使用,可以支持自定义颜色作为模糊效果的背景色,加强了导航栏外观定制的能力。

3.4.4

因为不断添加新特性和完善功能,导致大量 API 重命名,在这里对大家说声抱歉,后续的 API 尽量少做修改。最后希望大家食用快乐 😋。

3.4.3

3.4.2

之前使用 UIViewController 的 edgesForExtendedLayout 属性会导致导航栏往下移动,这也就是 README.md 文档中提到不要使用 edgesForExtendedLayout 属性的原因,现在该问题已经修复。详细信息查看: 示例代码

3.4.1

添加返回页面交互方式,之前的 -navigationController:willPopViewControllerUsingInteractiveGesture: 方法只能判断使用手势或者不使用手势交互返回页面的方式,现在已经支持完整的返回页面交互方式;

  1. NXNavigationInteractiveTypeCallNXPopMethod: 调用 nx_pop 系列方法返回。
  2. NXNavigationInteractiveTypeBackButtonAction: 点击返回按钮返回。
  3. NXNavigationInteractiveTypeBackButtonMenuAction: 长按返回按钮选择菜单返回。
  4. NXNavigationInteractiveTypePopGestureRecognizer: 使用手势交互返回。

3.4.0

3.3.1

3.3.0

3.2.0

3.1.0

3.0.0