1
This commit is contained in:
@@ -99,9 +99,8 @@
|
|||||||
- (void)buttonTapped:(UIButton *)button {
|
- (void)buttonTapped:(UIButton *)button {
|
||||||
NSInteger index = button.tag;
|
NSInteger index = button.tag;
|
||||||
if (index != self.selectedIndex) {
|
if (index != self.selectedIndex) {
|
||||||
self.selectedIndex = index;
|
// 先通知 delegate,由 delegate 决定是否允许切换(如登录拦截)
|
||||||
[self updateButtonStates];
|
// delegate 允许时会主动调用 setSelectedIndex: 来更新状态
|
||||||
|
|
||||||
if ([self.delegate respondsToSelector:@selector(customTabBar:
|
if ([self.delegate respondsToSelector:@selector(customTabBar:
|
||||||
didSelectItemAtIndex:)]) {
|
didSelectItemAtIndex:)]) {
|
||||||
[self.delegate customTabBar:self didSelectItemAtIndex:index];
|
[self.delegate customTabBar:self didSelectItemAtIndex:index];
|
||||||
|
|||||||
@@ -154,12 +154,15 @@
|
|||||||
|
|
||||||
- (void)customTabBar:(KBCustomTabBar *)tabBar
|
- (void)customTabBar:(KBCustomTabBar *)tabBar
|
||||||
didSelectItemAtIndex:(NSInteger)index {
|
didSelectItemAtIndex:(NSInteger)index {
|
||||||
// 登录检查
|
// 登录检查:未登录时跳登录页,不切换 Tab,不更新选中状态
|
||||||
if ((index == 1 || index == 2 || index == 3) && ![KBUserSessionManager shared].isLoggedIn) {
|
if ((index == 1 || index == 2 || index == 3) && ![KBUserSessionManager shared].isLoggedIn) {
|
||||||
[[KBUserSessionManager shared] goLoginVC];
|
[[KBUserSessionManager shared] goLoginVC];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新自定义 TabBar 的选中状态
|
||||||
|
[self.customTabBar setSelectedIndex:index];
|
||||||
|
|
||||||
// 切换 VC
|
// 切换 VC
|
||||||
self.selectedIndex = index;
|
self.selectedIndex = index;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user