#uinavigationcontroller #uitabbar #uitabbaritem
#uinavigationcontroller #uitabbar #uitabbaritem
Вопрос:
У меня возникла проблема при добавлении правой кнопки на uinavigationbar. Мой органайзер для перьев, подобный этому:
CustomTabViewController:UIViewController
—>CustomTableViewController1: UIViewController
—>CustomTableViewController2: UIViewController
Пользовательские tabviewcontrollers находятся в элементах панели вкладок
Мне нужно сохранить входные данные, я могу добавить элемент навигации из контроллера навигации, но я не могу добавить их из контроллера просмотра, когда они являются дочерними элементами в элементах панели вкладок. вот мой код:
@interface CustomTabViewController : UIViewController <UITabBarDelegate> {
NSArray *detailViews;
IBOutlet UITabBar *tabBar;
IBOutlet UITabBarItem *tabBarItem1;
IBOutlet UITabBarItem *tabBarItem2;
UIViewController *selectedViewController;
}
@property (nonatomic, retain) NSArray *detailViews;
@property (nonatomic, retain) IBOutlet UITabBar *tabBar;
@property (nonatomic, retain) IBOutlet UITabBarItem *tabBarItem1;
@property (nonatomic, retain) IBOutlet UITabBarItem *tabBarItem2;
@property (nonatomic, retain) UIViewController *selectedViewController;
@end
@implementation TabViewController
@synthesize detailViews;
@synthesize tabBar;
@synthesize tabBarItem1;
@synthesize tabBarItem2;
@synthesize selectedViewController;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil number:(NSString *)num{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
CustomTableViewController1 *tVC1 = [[CustomTableViewController1 alloc]initWithNibName:@"CustomTableViewController1" bundle:nil];
CustomTableViewController2 *tVC2 = [[CustomTableViewController2 alloc]initWithNibName:@"CustomTableViewController2" bundle:nil];
NSDictionary *detail = [[[Services sharedInstance] getDetail:num] copy];
[tVC1 setDetail:detail];
[tVC2 setDetail:detail];
NSArray *array = [[NSArray alloc] initWithObjects:tVC1, tVC2, nil];
self.detailViews = array;
[self.view addSubview:tVC1.view];
self.selectedViewController = tVC1;
[array release];
[TVC release];
[TVC release];
[detail autorelease];
}
return self;
}
// ....
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if (item == tabBarItem1) {
CustomTableViewController1 *tVC1 = [detailViews objectAtIndex:0];
[self.selectedViewController.view removeFromSuperview];
[self.view addSubview:tVC1.view];
self.selectedViewController = tVC1;
} else if (item == tabBarItem2) {
CustomTableViewController2 *tVC2 = [detailViews objectAtIndex:1];
[self.selectedViewController.view removeFromSuperview];
[self.view addSubview:tVC2.view];
self.selectedViewController = tVC2;
}
}
@end
пользовательские контроллеры табличного представления находятся внутри панелей вкладок с некоторым значением по умолчанию, которое необходимо изменить пользователю и сохранить. Я могу добавить правую кнопку на uinavigationbar из моего класса TabViewController, но это не может расширить информацию внутри CustomTableViewController в панели вкладок. Есть ли какой-либо способ добавить правую кнопку на uinavigationbar из пользовательского контроллера представления таблицы, который у меня есть? Можете ли вы показать мне решение?
Комментарии:
1. Я исправил это, передав родительскую ссылку.