尝试在 ios 6 中将 uibarbutton 样式的相机添加到 uitableviewcell
Posted
技术标签:
【中文标题】尝试在 ios 6 中将 uibarbutton 样式的相机添加到 uitableviewcell【英文标题】:trying to add a uibarbuttonstyleCamera to a uitableviewcell in ios6 【发布时间】:2013-02-19 06:23:11 【问题描述】:我正在尝试像这样以编程方式将 uibarbutton-Camera 样式添加到 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 圆角矩形样式?
【问题讨论】:
【参考方案1】: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];
【讨论】:
以上是关于尝试在 ios 6 中将 uibarbutton 样式的相机添加到 uitableviewcell的主要内容,如果未能解决你的问题,请参考以下文章
iOS 在整个导航控制器中显示相同的 UIBarButton