gpt4 book ai didi

ios - Swift 如何正确覆盖 3D-Touch 功能?

转载 作者:行者123 更新时间:2023-11-30 13:05:59 26 4
gpt4 key购买 nike

我目前正在尝试在我自己的小应用程序中实现 3D 触摸。该应用程序类似于学校规划器,因此主视图 Controller 是 UITableViewController, TableView 中有一些类(class),当单击其中一个类(class)时,会出现一个 segue 并将事件 View Controller 更改为“DetailedViewController” '. swift 。到目前为止一切正常。但现在我正在尝试实现 3D-Touch,以便用户可以更难地按“类(class)”来预览特定类(class)。我的第一次尝试是在 Storyboard的转场中设置复选标记。它实际上显示了预览,但我想在预览下方添加一些操作,并为其指定一个标题。因此,我尝试实现 UIViewControllerPreviewingDelegate 协议(protocol)并创建我的自定义函数。

但从那时起,我不知道如何继续。

我的功能:

override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = self.editButtonItem()
// .... Some other irrelevant stuff
registerForPreviewingWithDelegate(self, sourceView: view)
}

func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
if let indexPath = tableView.indexPathForRowAtPoint(location) {
//This will show the cell clearly and blur the rest of the screen for our peek.
previewingContext.sourceRect = tableView.rectForRowAtIndexPath(indexPath)
}
return nil
}

func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) {
presentViewController(viewControllerToCommit, animated: true, completion: nil)
}

override func previewActionItems() -> [UIPreviewActionItem] {
print("previewActionItems")
let action = UIPreviewAction(title: "Press Me!", style: .Default) { (action, viewController) in
print("I believe I can fly")
}
return [UIPreviewAction](arrayLiteral: action)
}

还有我的类(class):

初始 View Controller 是MainTableViewController。上面显示的所有函数都写在这个类中。

更详细的 View Controller 是DetailedViewController。

谢谢您的回答!

最佳答案

override var previewActionItems: [UIPreviewActionItem] {

let action1 = UIPreviewActionGroup(title: NSLocalizedString("action1", comment: "action1"), style: .default, actions: someAction)

let action2 = UIPreviewAction(title: "action2", style: .default) {[unowned self] (action, viewController) in
print("action2")
}

return [action1, action2]
}

关于ios - Swift 如何正确覆盖 3D-Touch 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39374818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com