class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @IBOutlet var tableView: UITableView var items: String[] = ["We","Heart","Swift"] override func viewDidLoad() { super.viewDidLoad() self.tableView.registerClass(UITableViewCell.self,forCellReuseIdentifier: "myCell") } func tableView(tableView: UITableView!,numberOfRowsInSection section: Int) -> Int { return self.items.count; } func tableView(tableView: UITableView!,cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("myCell") as UITableViewCell cell.textLabel.text = self.items[indexPath.row] cell.accessoryType = UITableViewCellAccessoryType.DetailDisclosureButton cell.selectionStyle = UITableViewCellSelectionStyle.Blue tableView.separatorStyle = UITableViewCellSeparatorStyle.None return cell } func tableView(tableView: UITableView!,didSelectRowAtIndexPath indexPath: NSIndexPath!) { println("You selected cell #\(indexPath.row)!") } }
我的问题是,附件类型和selectionStyle没有被改变.
tableView.separatorStyle与cell.textlabel.text一样也有改变.
我该如何解决?
UITableViewCellSelectionStyleBlue
The cell has a default background color when selected.
In iOS 7,the selection color is no longer blue. Use
UITableViewCellSelectionStyleDefault instead.
对于附件类型,只要不在其他地方更改它,它应该可以正常工作.确保表宽度正确,否则分隔符可能不在屏幕上.
class ViewController: UIViewController,UITableViewDataSource { @IBOutlet var tableView: UITableView var items: String[] = ["We",cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("myCell") as UITableViewCell cell.textLabel.text = self.items[indexPath.row] cell.selectionStyle = UITableViewCellSelectionStyle.Blue /* enum UITableViewCellAccessoryType : Int { case None // don't show any accessory view case DisclosureIndicator // regular chevron. doesn't track case DetailDisclosureButton // info button w/ chevron. tracks case Checkmark // checkmark. doesn't track case DetailButton // info button. tracks } */ // Standard options cell.accessoryType = UITableViewCellAccessoryType.None cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator cell.accessoryType = UITableViewCellAccessoryType.DetailDisclosureButton cell.accessoryType = UITableViewCellAccessoryType.Checkmark cell.accessoryType = UITableViewCellAccessoryType.DetailButton // Custom view options cell.accessoryType = UITableViewCellAccessoryType.None cell.accessoryView = UIView(frame: CGRectMake(0,20,20)) cell.accessoryView.backgroundColor = UIColor.blueColor() return cell } func tableView(tableView: UITableView!,didSelectRowAtIndexPath indexPath: NSIndexPath!) { println("You selected cell #\(indexPath.row)!") } }
请注意,每次请求单元格时,设置表的separatorStyle并不是一个好的解决方案,而是在加载tableView时执行一次:在viewDidLoad中.