【发布时间】:2017-03-03 17:07:25
【问题描述】:
当调用 3D Touch Peek 时,发生的背景模糊,我注意到它会有所不同。
例如,在 iMessage 中它是 LIGHT 模糊,但在 FaceTime App 中是 DARK 模糊。
(虽然下图可能不是显示对比度的最佳示例,但您可以在 iOS 10 中更好地注意到它)
这是根据上下文亮度自动完成的吗?背景视图亮度?查看上下文亮度?还是我们对此有任何控制权?
extension ChatTableViewController: UIViewControllerPreviewingDelegate {
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
guard let indexPath = tableView.indexPathForRow(at: location) else { return nil }
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: ChatDetailViewController.identifier)
guard let chatDetailViewController = viewController as? ChatDetailViewController else { return nil }
chatDetailViewController.chatItem = chatItem(at: indexPath)
let cellRect = tableView.rectForRow(at: indexPath)
previewingContext.sourceRect = previewingContext.sourceView.convert(cellRect, from: tableView)
chatDetailViewController.isReplyButtonHidden = true
return chatDetailViewController
}
func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) {
if let chatDetailViewController = viewControllerToCommit as? ChatDetailViewController {
chatDetailViewController.isReplyButtonHidden = false
}
show(viewControllerToCommit, sender: self)
}
}
【问题讨论】:
标签: ios xcode uiviewcontroller 3dtouch peek