我有这段代码可以改变我的UINavigationBar的后退按钮
// Set the custom back button
UIImage *buttonImage = [UIImage imageNamed:@"backag.png"];
//create the button and assign the image
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"selback.png"] forState:UIControlStateHighlighted];
button.adjustsImageWhenDisabled = NO;
//set the frame of the button to the size of the image (see note below)
button.frame = CGRectMake(0, 0, 30, 30);
[button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
//create a UIBarButtonItem with the button as a custom view
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = customBarItem;
// Cleanup
[customBarItem release];
如果我把它放在viewDidLoad方法中,它可以正常工作。但是,当我加载下一个视图时,旧样式按钮会显示出来。为了解决这个问题,我尝试将此代码放在下一个视图的viewDidLoad方法中,但是没有按钮可见。
关于可能导致此问题的任何想法?
谢谢!
答案 0 :(得分:2)
在
中应用相同的代码-(void)viewDidAppear:(BOOL)animated
{
}
答案 1 :(得分:1)
我在两个视图中都使用了tis代码并且工作正常......
//在两个视图的viewDidLoad方法中添加以下代码...
UIButton *leftButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
[leftButton1 setImage:[UIImage imageNamed:@"Viewone.png"] forState:UIControlStateNormal];
leftButton1.frame = CGRectMake(0, 0, 30, 30);
[leftButton1 addTarget:self action:@selector(yourclickevent) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton1];
[leftButton1 release];
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
[leftButton setImage:[UIImage imageNamed:@"ViewSecond.png"] forState:UIControlStateNormal];
leftButton.frame = CGRectMake(0, 0, 30, 30);
[leftButton addTarget:self action:@selector(yourclickevent) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
[leftButton release];
希望,这会帮助你......享受..
答案 2 :(得分:0)
您需要确保在navigationItem上设置hidesBackButton属性:
// Setup custom back button
self.navigationItem.hidesBackButton = YES;