在 tableView 中查看和弹出时,如何使我的previewingContext.sourceRect
圆形?
眼下:
在 TableView 单元上强制触摸
将预览委托设置为:
previewingContext.sourecRect = tableView.rectForRow(at: indexPath)
我已经尝试设置单元格的cell.layer.cornerRadius
& cell.layer.maskToBounds = true
in cellForRowAtIndexPath
,但是预览的源矩形仍然是一个完美的矩形。
相关代码:
UIVIewControllerPreviewingDelegate
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
if tableView.isEditing == false {
guard let indexPath = tableView.indexPathForRow(at: location) else {
print("Nil Cell Found: \(location)")
return nil }
guard let detailVC = storyboard?.instantiateViewController(withIdentifier: "view") as? ViewController else { return nil }
previewingContext.sourceRect = tableView.rectForRow(at: indexPath)
return detailVC
} else {
return nil
}
}
TableView CellForRowAtIndexPath
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? CustomCell else { fatalError("No cell with identifier: cell") }
cell.titleLabel.text = "temp"
// cell.inputView?.layer.cornerRadius = 16.0
// cell.inputView?.layer.masksToBounds = true
// cell.contentView.layer.cornerRadius = 16.0
// cell.contentView.layer.masksToBounds = true
cell.layer.cornerRadius = 16.0
cell.layer.borderWidth = 2
cell.layer.borderColor = UIColor.orange.cgColor
cell.layer.masksToBounds = true
return cell
}
}
目前,当仅强制触摸 tableview 单元格时,下图中的蓝色框被选中并且是 sourcerect,但是我希望橙色圆角矩形(一个单元格)成为源矩形。