iOS 개발 중 TabBar 재 클릭 으로 리 셋 효과 구현

수요
그림 과 같이 사용자 정의 TabBar 가 구현 되 었 습 니 다.
 
사용자 정의 TabBar.jpeg
현재 TabBar 의 선택 항목 을 계속 클릭 하면 이 화면 은 UITableView 를 새로 고 쳐 야 합 니 다.
분석 하 다.
TabBar 를 사용자 정의 한 이상 가장 쉬 운 것 은 사용자 정의 에서 TabBar 에 필요 한 UITabBarButton 에 이 벤트 를 추가 하 는 것 입 니 다.클릭 하면 알림 을 보 내 고 현재 색인 을 전달 하 는 것 입 니 다.대응 하 는 인터페이스 감청 알림 은 색인 비 교 를 받 고 현재 색인 과 일치 하면 해당 하 는 동작 을 수행 합 니 다.
이루어지다
1.TabBar 의 layout Subviews 에 연 결 된 이벤트 사용자 정의

- (void)layoutSubviews
{
 [super layoutSubviews];
 for (UIButton * tabBarButton in self.subviews) {
  if ([tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
   //  tabbar   
   //  tag   
   tabBarButton.tag = index;
   //  tabbar   
   [tabBarButton addTarget:self action:@selector(tabBarButtonClick:) forControlEvents:UIControlEventTouchUpInside];
  }
 }
}
2.사건 감청,알림 발송

- (void)tabBarButtonClick:(UIControl *)tabBarBtn{
 
 //              
 //       item           VC     
 if (self.previousClickedTag == tabBarBtn.tag) {
  
  [[NSNotificationCenter defaultCenter] postNotificationName:
   @"DoubleClickTabbarItemNotification" object:@(tabBarBtn.tag)];
 }
 self.previousClickedTag = tabBarBtn.tag;
}
대응 하 는 UIViewController 감청 알림

- (void)viewDidLoad {
 [super viewDidLoad];
 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(doubleClickTab:) name:@"DoubleClickTabbarItemNotification" object:nil];
}
3.알림 을 감청 하고,대조 후 실행

-(void)doubleClickTab:(NSNotification *)notification{
 //           NSInteger           
 //                  ,   NSNumber      
 NSNumber *index = notification.object;
 if ([index intValue] == 1) {
  //  
 }
}
최종 효과 보기:

총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 iOS 개발 에서 TabBar 가 다시 클릭 하여 리 셋 효 과 를 얻 었 습 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글로 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기