这是我的问题。我的顶部有一个NavigationBar,底部有一个TabBar,屏幕中央有一个TableView。非常正常的情况。我在IB中设置了所有内容,并在app delegate中设置了它:
ExpensesListNavController * expensesListNavController;
这是为了能够向堆栈添加新视图。我需要有3个级别: - TableView中的项目列表 - >好 - firstLevel:一旦按下一个单元格,视图就会被添加到堆栈中 - >好 - 第二级:在第一级按下导航栏上的“修改”按钮我希望显示一个可由用户自定义的新视图。
尝试在“firstLevelView”中添加“修改”按钮时,我的问题就出现了。在我的代码
下面-(IBAction) modify:(id)sender
{
if (editableDetailViewController == nil)
{
editableDetailViewController = [[editableDetailViewController alloc] init];
}
editableDetailViewController.expense = expense;
[appDelegate.expensesListNavController pushViewController:editableDetailViewController animated:YES];
editableDetailViewController = nil;
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = [[UIApplication sharedApplication] delegate];
UIBarButtonItem *modifyButton = [[UIBarButtonItem alloc] initWithTitle:@"Modify" style:UIBarButtonItemStylePlain target:self action:@selector(modify:)];
appDelegate.expensesListNavController.navigationItem.rightBarButtonItem = modifyButton;
appDelegate.expensesListNavController.navigationItem.title = @"Titoloooo";
NSLog(@"NavBar button has just been set !!");
[modifyButton release];
没有显示任何内容,既没有标题也没有按钮。你知道发生了什么吗?我实在想不出来!!!
非常感谢,AM
答案 0 :(得分:0)
在Interface Builder中,设置MainWindow(在项目设置时自动生成) 好吧,我准备了我的Interface BUilder设置的截图。似乎我缺少能够发布它的声誉。
基本上,您将向MainWindow.xib添加导航控制器
将UIBarButtonItem的出口连接到您的IBAction
在相应的viewcontroller类中,您将需要“修改”方法。
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
-(IBAction)modify:(id)sender {
controller = [[firstLevel alloc] initWithNibName:@"secondLevel" bundle:nil];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}