我的导航栏有问题。问题是,我试图重写NavigationBar从超级viewController获得的LeftBarButtonItem,如下所示:
“超级ViewController”
UIImageView *logoApp = [[UIImageView alloc] initWithImage:[UIImageimageNamed:@"logo.png"]];
[logoApp setFrame:CGRectMake(5, 5, 55, 30)];
UIBarButtonItem *containingLogoApp = [[UIBarButtonItem alloc] initWithCustomView:logoApp];
self.navigationItem.leftBarButtonItem = containingLogoApp;
现在,我尝试在不同的viewControllerB中覆盖它,如下所示:
UIImageView *backImg = [[UIImageView alloc] initWithImage:[UIImageimageNamed:@"back.png"]];
[logoApp setFrame:CGRectMake(5, 5, 17, 22)];
UIBarButtonItem *containingBackButton = [[UIBarButtonItem alloc]initWithCustomView:backImg];
self.navigationItem.leftBarButtonItem = containingBackButton;
这是相同的代码,而且它只在应用程序第一次运行时起作用。如果我第二次运行它,它不再显示在ViewControllerB
中分配的图像。这会发生在我的项目中的每个图像上,它只在我第一次在模拟器上运行应用程序时起作用,在第一次运行之后…就像什么都没发生一样。
如何覆盖leftBarButtonItem?
发布于 2013-09-13 19:49:57
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
[backButton setFrame:CGRectMake(0, 0, 50, 30)];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
发布于 2013-09-16 21:58:44
试试这段代码
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"dynamic_blue_left.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(rightSwipeClicked:)];
self.navigationItem.leftBarButtonItem = backButton;
它工作得很好..可能对你很有用
https://stackoverflow.com/questions/18785380
复制相似问题