我有以下代码用于放置rightbarbuttonitem

UIButton* rightbutton = [UIButton buttonWithType:UIButtonTypeCustom];
    [rightbutton setBackgroundImage:[UIImage imageNamed:@"share-icon.png"] forState:UIControlStateNormal];
    [rightbutton addTarget:self action:@selector(share:) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:rightbutton] autorelease];

但是它没有显示任何barbuttonitem。相反,如果我使用以下代码,则会出现barbutton项目,但问题是我无法在barbuttonitem上使用此代码设置触摸事件。
UIImageView *iconView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"dashboard-icon.png"]];
    UIBarButtonItem *icon = [[UIBarButtonItem alloc] initWithCustomView:iconView];
    self.navigationItem.leftBarButtonItem=icon;
    [icon release];
    [iconView release];

最佳答案

您是否尝试为rightbutton设置适当的框架?例如rightbutton.frame = (CGRect){CGPointZero, image.size};
另请注意:

在iOS 4及更高版本上,
不需要文件来指定
文件扩展名。在iOS 4之前,
您必须指定文件名
延期。

10-08 12:32