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 가 다시 클릭 하여 리 셋 효 과 를 얻 었 습 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글로 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.