Skip to content

Commit 619f5c8

Browse files
committed
prefs: 代码优化
1 parent 433eb92 commit 619f5c8

File tree

6 files changed

+20
-28
lines changed

6 files changed

+20
-28
lines changed

NXNavigationExtension/Core/NXNavigationConfiguration.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ typedef void (^_Nullable NXViewControllerPrepareConfigurationCallback)(__kindof
9696
@property (nonatomic, assign) BOOL useBlurNavigationBar;
9797

9898
/// 过期:是否禁用边缘滑动返回手势;默认 NO
99-
/// 使用 `NXNavigationTransitionDelegate` 代理方法 `nx_navigationController:transitionViewController:navigationBackAction`替代
99+
/// 使用 `NXNavigationTransitionDelegate` 代理方法 `nx_navigationTransition:navigationBackAction:`替代
100100
/// SwiftUI 使用 `useNXNavigationView(onBackActionHandler:)` 替代
101101
@property (nonatomic, assign) BOOL disableInteractivePopGesture API_DEPRECATED("No longer supported.", ios(2.0, 2.0));
102102

NXNavigationExtension/Core/UINavigationController+NXNavigationExtension.h

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,28 +64,24 @@ typedef NS_ENUM(NSUInteger, NXNavigationBackAction) {
6464
};
6565

6666

67-
typedef void (^NXNavigationTransitionStateHandler) (UINavigationController *, UIViewController *, NXNavigationTransitionState);
68-
typedef BOOL (^NXNavigationBackActionHandler) (UINavigationController *, UIViewController *, NXNavigationBackAction);
67+
typedef void (^NXNavigationTransitionStateHandler) (UIViewController *, NXNavigationTransitionState);
68+
typedef BOOL (^NXNavigationBackActionHandler) (UIViewController *, NXNavigationBackAction);
6969

7070
@protocol NXNavigationTransitionDelegate <NSObject>
7171

7272
@optional
7373

7474
/// 视图控制器转场状态
75-
/// @param navigationController 当前导航控制器
76-
/// @param viewController 转场视图控制器
75+
/// @param transitionViewController 转场视图控制器
7776
/// @param state 视图控制器转场状态
78-
- (void)nx_navigationController:(__kindof UINavigationController *)navigationController
79-
transitionViewController:(__kindof UIViewController *)viewController
77+
- (void)nx_navigationTransition:(__kindof UIViewController *)transitionViewController
8078
navigationTransitionState:(NXNavigationTransitionState)state;
8179

8280
/// 拦截视图控制器返回操作
83-
/// @param navigationController 当前导航控制器
84-
/// @param viewController 转场视图控制器
81+
/// @param transitionViewController 转场视图控制器
8582
/// @param action 试图控制器返回事件
8683
/// @return `YES` 表示继续返回操作;`NO` 表示中断返回操作
87-
- (BOOL)nx_navigationController:(__kindof UINavigationController *)navigationController
88-
transitionViewController:(__kindof UIViewController *)viewController
84+
- (BOOL)nx_navigationTransition:(__kindof UIViewController *)transitionViewController
8985
navigationBackAction:(NXNavigationBackAction)action;
9086

9187
@end

NXNavigationExtension/Core/UIViewController+NXNavigationExtension.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ NS_ASSUME_NONNULL_BEGIN
9090
@property (nonatomic, assign, readonly) BOOL nx_useBlurNavigationBar;
9191

9292
/// 过期:是否禁用边缘滑动返回手势;默认 NO
93-
/// 使用 `NXNavigationTransitionDelegate` 代理方法 `nx_navigationController:transitionViewController:navigationBackAction`替代
93+
/// 使用 `NXNavigationTransitionDelegate` 代理方法 `nx_navigationTransition:navigationBackAction:`替代
9494
/// SwiftUI 使用 `useNXNavigationView(onBackActionHandler:)` 替代
9595
@property (nonatomic, assign, readonly) BOOL nx_disableInteractivePopGesture API_DEPRECATED("No longer supported.)", ios(2.0, 2.0));
9696

NXNavigationExtension/Private/NXNavigationExtensionInternal.m

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -489,16 +489,14 @@ - (BOOL)nx_viewController:(__kindof UIViewController *)currentViewController
489489
- (BOOL)nx_preparePopViewController:(__kindof UIViewController *)currentViewController
490490
destinationViewController:(__kindof UIViewController *)destinationViewController
491491
navigationBackAction:(NXNavigationBackAction)action {
492-
if ([currentViewController.nx_navigationTransitionDelegate respondsToSelector:@selector(nx_navigationController:transitionViewController:navigationBackAction:)]) {
493-
return [currentViewController.nx_navigationTransitionDelegate nx_navigationController:self
494-
transitionViewController:destinationViewController
492+
if ([currentViewController.nx_navigationTransitionDelegate respondsToSelector:@selector(nx_navigationTransition:navigationBackAction:)]) {
493+
return [currentViewController.nx_navigationTransitionDelegate nx_navigationTransition:destinationViewController
495494
navigationBackAction:action];
496-
} else if ([currentViewController respondsToSelector:@selector(nx_navigationController:transitionViewController:navigationBackAction:)]) {
497-
return [(id<NXNavigationTransitionDelegate>)currentViewController nx_navigationController:self
498-
transitionViewController:destinationViewController
495+
} else if ([currentViewController respondsToSelector:@selector(nx_navigationTransition:navigationBackAction:)]) {
496+
return [(id<NXNavigationTransitionDelegate>)currentViewController nx_navigationTransition:destinationViewController
499497
navigationBackAction:action];
500498
} else if (currentViewController.navigationItem.nx_backActionHandler) {
501-
return currentViewController.navigationItem.nx_backActionHandler(self, destinationViewController, action);
499+
return currentViewController.navigationItem.nx_backActionHandler(destinationViewController, action);
502500
}
503501
return YES;
504502
}
@@ -532,10 +530,10 @@ - (void)nx_transitionViewController:(__kindof UIViewController *)appearingViewCo
532530
navigationTransitionState:(NXNavigationTransitionState)state {
533531
appearingViewController.nx_navigationTransitionState = state;
534532

535-
if ([appearingViewController respondsToSelector:@selector(nx_navigationController:transitionViewController:navigationTransitionState:)]) {
536-
[(id<NXNavigationTransitionDelegate>)appearingViewController nx_navigationController:self transitionViewController:appearingViewController navigationTransitionState:state];
533+
if ([appearingViewController respondsToSelector:@selector(nx_navigationTransition:navigationTransitionState:)]) {
534+
[(id<NXNavigationTransitionDelegate>)appearingViewController nx_navigationTransition:appearingViewController navigationTransitionState:state];
537535
} else if (appearingViewController.navigationItem.nx_transitionStateHandler) {
538-
appearingViewController.navigationItem.nx_transitionStateHandler(self, appearingViewController, state);
536+
appearingViewController.navigationItem.nx_transitionStateHandler(appearingViewController, state);
539537
}
540538
}
541539

NXNavigationExtension/Support SwiftUI/NXNavigationVirtualWrapperView.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626

2727
@implementation NXNavigationVirtualWrapperView
2828

29-
- (BOOL)nx_navigationController:(__kindof UINavigationController *)navigationController
30-
transitionViewController:(__kindof UIViewController *)viewController
29+
- (BOOL)nx_navigationTransition:(__kindof UIViewController *)transitionViewController
3130
navigationBackAction:(NXNavigationBackAction)action {
3231
return YES;
3332
}

NXNavigationExtensionSwiftUI/Core/NXNavigationWrapperView.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,9 @@ public class NXNavigationVirtualView: NXNavigationVirtualWrapperView {
4747
}
4848

4949
/// 重写基类的代理方法。
50-
public override func nx_navigationController(_ navigationController: UINavigationController,
51-
transitionViewController: UIViewController,
52-
navigationBackAction: NXNavigationBackAction) -> Bool {
53-
return self.onBackActionHandler?(navigationBackAction) ?? true
50+
public override func nx_navigationTransition(_ transitionViewController: UIViewController,
51+
navigationBackAction action: NXNavigationBackAction) -> Bool {
52+
return self.onBackActionHandler?(action) ?? true
5453
}
5554

5655
/// 重写基类的查找规则。

0 commit comments

Comments
 (0)