所以我的右栏按钮消失了。我有两种加载此视图的方法,第一次启动它在用户输入其名称后(从初始视图)加载它。第二次(在应用退出之后),它检查我的存储数据库中是否存在该名称,如果存在,则立即加载视图。第二次是按钮不显示的位置。
该按钮最初设置在我视图的viewDidLoad中(并且仍然在此处设置为第一次加载):
if (self.navigationItem.rightBarButtonItem == nil){
addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(buttonPressed)];
self.navigationItem.rightBarButtonItem = addButton;
[self.navigationItem.rightBarButtonItem retain];
}
然后在我的AppDelegate的.m中,我添加了一个按钮,认为可以在第二次加载时解决它:
if(success){
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
UIViewController *control = [[ViewController alloc] initWithNibName:@"myNib" bundle:nil];
[control retain];
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController:control];
[navControl retain];
[self.window setRootViewController:navControl];
if (navControl.navigationItem.rightBarButtonItem == nil){
addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(buttonPressed)];
navControl.navigationItem.rightBarButtonItem = addButton;
[navControl.navigationItem.rightBarButtonItem retain];
}
//[navControl release];
[self.window makeKeyAndVisible];
return;
以下是App Delegate标题中addButton的声明和我的视图标题:
UIBarButtonItem *addButton;
@property (nonatomic, retain) UIBarButtonItem *addButton
其他帖子说要检查viewDidLoad / viewWillAppear,但是将第一个代码嵌入其中任何一个都无法解决问题。
答案 0 :(得分:0)
我自己解决了,因为按钮从未添加到笔尖,初始化UIViewController没有帮助。我不得不初始化我的视图控制器。
换句话说,将UIViewController *control = [[ViewController alloc] initWithNibName:@"myNib" bundle:nil];
替换为:MyViewControllerClassName *control = [[MyViewControllerClassName alloc] initWithNibName:@"myNib" bundle:nil];
希望这有助于将来的其他人,感谢您花时间阅读此内容,如果您这样做了!