我希望将原生的“+”符号添加到我的一个tableview单元格中,但不确定是否有属性。我基本上想在下面的图像中做什么,但是在非编辑模式下(我知道在编辑模式下如何做到这一点)。我是否需要手动添加此图像,还是作为tableview单元格API的一部分提供?
谢谢!
答案 0 :(得分:6)
更新回答:
首先,如果您打算使用看似“插入项目”控件的内容,但实际上并未向表中添加内容,则可能违反了人机界面指南,Apple可能会从商店拒绝您的应用。 Apple非常不喜欢以非标准的方式使用他们的标准HIG图标,因为这样做会让用户感到困惑。在文档here的“表格行和其他UI元素中使用的标准按钮”部分中查看他们要说的内容。引用:
[标准按钮]应根据其定义的含义使用, 与所有标准按钮和图标一样。换句话说,避免选择 一个基于其外观的按钮,不考虑其记录 含义。有关使用它的重要原因的讨论 这些按钮正确,请参阅“Use UI Elements Consistently。”
(除此之外,如果您愿意谨慎行事,并且想要找到UI iPhone图形的副本,请参阅此处给出的链接:UITableViewCell insert/add style green plus (+) button - how can I grab this image?
此外,联系人中显示的蓝色(非绿色!)加号按钮可用作自定义UIButton:请参阅列出的[UIButton buttonWithType:buttonType]
有效按钮类型here。)
如果您的绿色加号按钮控件应在表格中添加某些内容 - 而问题只是您希望“插入”控件始终存在:
尝试让表格始终处于“编辑”模式,但不要在导航栏或类似设备上显示编辑控件。您可以通过设置UITableView
属性以编程方式为editing
启用编辑模式。在生命周期的早期执行此操作 - 尝试在viewWillAppear
中设置,也许。
我的原始答案,关于如何添加“插入”图标(这不是实际问题,但信息对某些读者可能仍然有用):
请阅读有关UITableView
insertion and deletion。
引用相关部分:
表格视图具有编辑模式及其正常(选择) 模式。当表格视图进入编辑模式时,它会显示 编辑和重新排序与其行关联的控件。编辑 控件位于行的左侧,允许用户使用 在表视图中插入和删除行。
当表格视图进入编辑模式并且用户单击编辑时 在表中,表视图向其数据源发送一系列消息 和委托,但只有他们实施这些方法。这些方法 允许数据源和委托细化外观和 表视图中行的行为;消息也使他们能够 执行删除或插入操作。
特别是,您对此方法感兴趣:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
是UITableViewDelegate
协议的一部分,docs here。
<强>更新强>
好的,回答你原来的问题:
您需要手动添加图片。
答案 1 :(得分:2)
这个怎么样?
在tableView:cellForRowAtIndexPath:
UIButton *bn = [UIButton buttonWithType:UIButtonTypeContactAdd];
bn.frame = CGRectMake(10.0, 10.0, 25.0, 25.0);
bn.userInteractionEnabled = NO;
[cell addSubview:bn];