0

虽然我试图把导航按钮放在UINavigationController它不显示的地方,但是导航栏是可见的!代码如下,

leftbtn = [UIButton buttonWithType:UIButtonTypeCustom];
[leftbtn setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
[leftbtn addTarget:self action:@selector(hom) forControlEvents:UIControlEventTouchUpInside];
[leftbtn setImage:[UIImage imageNamed:@"home.png"] forState:UIControlStateNormal];
UIBarButtonItem *random = [[UIBarButtonItem alloc] initWithCustomView:leftbtn];
rigtbtn = [UIButton buttonWithType:UIButtonTypeCustom];
[rigtbtn setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
[rigtbtn addTarget:self action:@selector(edity) forControlEvents:UIControlEventTouchUpInside];
[rigtbtn setImage:[UIImage imageNamed:@"edite.png"] forState:UIControlStateNormal];
UIBarButtonItem *random1 = [[UIBarButtonItem alloc] initWithCustomView:rigtbtn];
navigationController.navigationItem.leftBarButtonItem=random;
navigationController.navigationItem.rightBarButtonItem=random1;

这段代码有什么问题?请帮我解决

4

2 回答 2

1

您必须设置其根视图控制器的属性,而不是设置导航控制器的导航项(也许self如果您的代码是这样组织的)。所以,如果rootViewController是一个视图控制器,你用它来初始化导航控制器,你必须这样写:

rootViewController.navigationItem.leftBarButtonItem = random;
rootViewController.navigationItem.rightBarButtonItem = random1;
于 2012-12-24T09:36:37.000 回答
0

代替,

navigationController.navigationItem.leftBarButtonItem=random;
navigationController.navigationItem.rightBarButtonItem=random1;

利用,

self.navigationItem.leftBarButtonItem=random;
self.navigationItem.rightBarButtonItem=random1;

您不必UINavigationController在导航栏上创建或访问设置栏按钮项目。如果您正在推送当前视图控制器,那么您可以使用上面的代码来设置这些按钮。推送的视图控制器已经具有设置它的属性。

于 2012-12-24T20:40:53.107 回答