我想制作类似于WiFi设置页面的内容:当您点击表格单元格时,在单元格的左侧放置一个复选框,并在右侧显示一个显示按钮附件视图以显示更多详细信息。
我的问题:有没有办法在不构建自定义UITableViewCell的情况下将复选标记放在UITableViewCell的左侧?
答案 0 :(得分:122)
答案是肯定的!您不必为此创建自定义单元格或添加图像视图。要模拟复选框,您只需将复选框状态的unicode符号添加到单元格文本中。
我用于复选框的unicode符号为\u2705
用于选中,\u2B1C
用于未选中(与iOS 5上的\U0001F533
几乎相同)。 iOS渲染了几个unicode symbols as icons。
以下是其他一些符号:
@"\u2611", @"\u2B1C", @"\u2705", @"\u26AB", @"\u26AA", @"\u2714", @"\U0001F44D", @"\U0001F44E"
模仿Wi-Fi设置页面(使用UITableViewCellStyleValue1
):
cell.textLabel.text = @"\u2001 Wi-Fi 1";
cell.detailTextLabel.text = @"\U0001F512 \u268A";
cell.textLabel.text = @"\u2001 Wi-Fi 2";
cell.detailTextLabel.text = @"\U0001F512 \u268C";
cell.textLabel.text = @"\u2713 Wi-Fi 3";
cell.detailTextLabel.text = @"\U0001F513 \u2630";
答案 1 :(得分:6)
当然你可以这样做:)例如使用UITableViewCellStyle
UITableViewCellStyleDefault, // Simple cell with text label and optional image view //(behavior of UITableViewCell in iPhoneOS 2.x)
...并在“可选图像视图”中添加自定义“复选标记”图像。
答案 2 :(得分:0)
所以这是一种方法。将UIImageView放在单元格的左边缘。不要设置图像,因此它是空白的。
然后,假设您正在为该UITableViewCell执行自定义单元格和类,请执行以下操作:
import UIKit
class MyCustoTableViewCell: UITableViewCell {
@IBOutlet weak var commandOption: UILabel!
@IBOutlet weak var checkMarkImage: UIImageView!
// Sets a left side checkmark on a cell when selected
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
self.checkMarkImage.image = selected ? UIImage(named: "BlueCheck") : .None
self.commandOption.font = selected ? UIFont(name: "Avenir-Heavy", size: 22) : UIFont(name: "Avenir-Book", size: 22)
// more check mark on the right side
// self.accessoryType = selected ? .Checkmark : .None
}
}
注意底部注释出来的是您是否需要右侧的复选标记。当用户点击表格单元格时,会激活super.setSelecdted方法。确保你也实现了这个:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// do any changes needed here or leave blank if just adding check
}
}
最后,确保在Assets文件夹中有@ 2x和@ 3x选中标记PNGs资产。请注意,在此示例中,这些称为“BlueCheck”,但使用的是您的复选标记资产。
此方法确保当用户选择新行时,复选标记在当前单元格上消失。
在这种情况下,我正在加粗图像视图右侧的文本,以进一步指示它是选定的行。
答案 3 :(得分:0)
在Swift中你可以按下Command + Ctrl +空格键来显示表情符号和特殊字符,或者你可以复制这个✓✔️
答案 4 :(得分:-2)
没有。您必须为此创建自定义单元格。
答案 5 :(得分:-3)
您应该查看UITableViewCell reference and Table View Guide。使用标准单元格样式,editingAccessoryType
属性设置为UITableViewCellAccessoryCheckmark
。