0

我试图像这样以编程方式将 uibarbutton- 相机样式添加到 uitableviewcell 但我在 uitableviewcell 中看不到任何内容

UIButton *newBtn=[UIButton buttonWithType:UIBarButtonSystemItemCamera];
        [newBtn setFrame:CGRectMake(250,10,50,30)];
        [newBtn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
        [newBtn setEnabled:YES];
        [cell addSubview:newBtn];

但是当我使用这段代码时,我在 uitableviewcell 中看到了一个圆角矩形按钮

  UIButton *newBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
        [newBtn setFrame:CGRectMake(250,10,50,30)];
        [newBtn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
        [newBtn setEnabled:YES];
        [cell addSubview:newBtn];

有什么办法可以添加一个 uibarbuttonstyle 按钮,或者我所能做的就是向 uitableviewcell 添加一个 uibutton 圆角矩形样式?

4

1 回答 1

0

UIBarButtonItem不一样UIButton。它甚至不继承自UIView,因此您不能将其作为子视图添加到其他视图。当你打电话时会发生什么

[UIButton buttonWithType:UIBarButtonSystemItemCamera]

是该UIBarButtonSystemItemCamera常量对于 的值无效buttonWithType:,因此 UIButton 无法决定返回哪种类型的按钮 - 可能它只是返回一个空的、未配置的或nil.

因此,您的问题没有简单的解决方案。例如,您可以做的是截取相机栏按钮项目的屏幕截图,然后使用某种图像编辑器应用程序提取其图像,然后将该图像设置为自定义图像,UIButton如下所示:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:@"Camera.png"] forState:UIControlStateNormal];
[cell.contentView addSubview:btn];
于 2013-02-19T06:30:55.013 回答