2

我不确定为什么以下代码不起作用:

UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStyleBordered target:self action:@selector(newClicked:)];

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share:)];

self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:newButton, shareButton, nil];

它只在导航栏上显示“newButton”UIBarButtonItem,而不是“shareButton”按钮。

4

3 回答 3

3

我发现了一个涉及这种行为的不同问题。

如果您设置了自定义titleView( navigationItem.titleView = ...),则导航项有时可以隐藏您的按钮,但第一个按钮除外(如果它没有空间)。

因此,请确保您限制width您的自定义titleView

于 2013-03-10T07:34:00.000 回答
2

rightBarButtonItems在 ios 5 中。我认为问题出在对象名称new上,请将其更改为任何其他名称newButton或类似名称。因为 new 是用于memory allocationin的关键字C++

于 2012-08-23T15:28:48.367 回答
1

看起来问题与受质疑代码之后的代码有关:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 400, 44)];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont fontWithName:@"Marker Felt" size:26.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor =[UIColor whiteColor];
label.text=self.title;
self.navigationItem.titleView = label;
[label release];

现在发布这个以防其他人遇到这个问题!

于 2012-08-23T15:28:54.257 回答