저는 아이폰을 처음 사용하고 일부 특정 페이지에만로드해야하는 사용자 정의 탭 막대를 추가 한 응용 프로그램을 시작했습니다. 탭 바는 제 기대대로 작동합니다. 에서iOS5 사용자 정의 탭 막대
#import <UIKit/UIKit.h>
@class MainMenuViewController;
@interface RoutineListViewController : UIViewController<UITabBarDelegate>{
MainMenuViewController *homeBtn;
UITabBar *mainTabBar;
UIViewController *routineTabViewController;
UIViewController *calendarTaViewController;
UIViewController *editTabViewController;
}
@property (nonatomic, retain) IBOutlet UITabBar *mainTabBar;
@property (nonatomic, retain) IBOutlet UIViewController *routineTabViewController;
@property (nonatomic, retain) IBOutlet UIViewController *calendarTabViewController;
@property (nonatomic, retain) IBOutlet UIViewController *editTabViewController;
- (IBAction)goToHome:(id)sender;
@end
: 이제 문제는 내가 탭 표시 줄이 표시 계속해서 다른 페이지로 이동 나를 위해 심각한 문제가 발생할 때 ... 가 여기 내 구현 .H에서
입니다 것입니다. m, 난으로 탭을 구현하고있다 :
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
switch (item.tag) {
case 1:
if (routineTabViewController == nil) {
self.routineTabViewController =[[RoutineListViewController alloc] initWithNibName:@"RoutineListViewController" bundle:nil];
[self.view insertSubview:routineTabViewController.view belowSubview:mainTabBar];
routineTabViewController = nil;
[routineTabViewController release];
}
break;
case 2:
if (calendarTabViewController == nil) {
self.calendarTabViewController =[[CalendarTabViewController alloc] initWithNibName:@"CalendarTabViewController" bundle:nil];
[self.view insertSubview:calendarTabViewController.view belowSubview:mainTabBar];
calendarTabViewController = nil;
[calendarTabViewController release];
}
break;
case 3:
if (editTabViewController == nil) {
self.editTabViewController =[[EditTabViewController alloc] initWithNibName:@"EditTabViewController" bundle:nil];
[self.view insertSubview:editTabViewController.view belowSubview:mainTabBar];
editTabViewController = nil;
[editTabViewController release];
}
break;
default:
break;
}
}
내가 다른 페이지로 이동 버튼을 구현할 때, 탭 표시 줄이 보여주는 유지합니다. EditTabViewController.m 파일의 버튼 구현은 다음과 같습니다. 애플의 규칙에 따라
- (IBAction)goToHome:(id)sender {
homeBtn = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil];
[self.view addSubview:homeBtn.view];
}
잘못된 형식의 죄송합니다 ... –