当前位置:   iOS > 正文

3D Touch和UITableViewCell

swift,ios9,3dtouch,iphone,ios,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我在iPhone 6s上添加了一些测试3D Touch功能UITableViewController.一般来说它工作正常,但我能够观察到一些问题,我不知道发生了什么以及如何以正常方式解决这个问题.

1)我的单元格是可选的,因此用户可以按下它或使用"3D Touch".问题是,当我使用"Pop"和"Peek"时,UITableViewCell它会被选中,我无法使用setSelected:setHighlighted:方法以正常方式取消选择.我尝试在不同的地方取消选择,即使previewingContext:commitViewControllerpresentViewController完成时也是如此.他们什么都不做,细胞仍处于选定状态.我通过调用reviewingContext.sourceView和其他临时代码检索了选定的单元格,这些代码给了我选定的单元格,但这些方法不起作用.

所以问题是当用户在其上应用"Pop"时,有一种正常的方法来取消选择(或更好地选择)单元格吗?

2)我还注意到,有时当我取消"Pop"手势并将单元格置于初始状态时(当previewingContext:viewControllerForLocation方法甚至没有被调用时),我的UI就会挂起并且根本不响应触摸.我需要杀死才能使它发挥作用.看起来很奇怪,我查了一下这个教程.它工作得很好,没有提到问题,但是它们不在单元格上注册委托,但是UITableView这样"Pop"手势突出显示整个tableView,而不是单元格.

有什么想法,这里有什么不对吗?

以下是我在测试中实现3D触摸的UITableViewController方法UIViewControllerPreviewingDelegate

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    let cell = tableView.dequeueReusableCellWithIdentifier("SomeDemoID",
        forIndexPath: indexPath) as! UITableViewCell

    // Some cell configuration

    if #available(iOS 9.0, *) {
        if traitCollection.forceTouchCapability == .Available {
            self.registerForPreviewingWithDelegate(self, sourceView: cell)
        }
    } else { // Fallback on earlier versions}

    return cell;
}


// MARK: - UIViewControllerPreviewingDelegate

    func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
    {
        // Just Test View Controller
        return UIViewController(nibName: nil, bundle: nil)
    }

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

提前致谢!



1> Yogesh Makwa..:

在tableview单元格中添加3D Touch的简便方法.没有一行代码

故事板图像

更多细节:https://github.com/yudiz-solutions/YM3DTouch

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  • 如何解决《iOS9如何检测静音模式?》经验,为你挑选了1个好方法。objective-c,ios,avaudiosession,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳... [详细]

  • 如何解决《由于物理设备上的XCApplicationStateRunningActive,XcodeUI测试失败》经验,为你挑选了0个好方法。objective-c,ios,xcode-ui-testing,xcode,DevBox,在线流... [详细]

  • 如何解决《关于C++中的复制控制》经验,为你挑选了1个好方法。c++,constructor,ios,容器,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端... [详细]

  • 如何解决《从主机访问CUDA全局设备变量》经验,为你挑选了1个好方法。c++,cuda,global-variables,ios,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间... [详细]

  • 如何解决《std::moveofstringliteral-哪个编译器正确?》经验,为你挑选了1个好方法。c++,language-lawyer,visual-studio-2015,xcode,ios,go,DevBox,在线流程图,编程... [详细]

  • 如何解决《使用carthage集成ReactiveCocoa失败》经验,为你挑选了1个好方法。ios,reactive-cocoa,swift,carthage,cocoa,xcode,git,DevBox,在线流程图,编程,编程问答,程序... [详细]

  • 如何解决《制作企业iOS应用的安装链接》经验,为你挑选了1个好方法。xcode,ios,ipa,enterprise-distribution,服务器,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二... [详细]

  • 如何解决《ReactNative:如何在父视图中将元素放到右侧》经验,为你挑选了1个好方法。ios,flexbox,react-native,容器,https,go,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,j... [详细]

  • 如何解决《如何在Swift中对两种类型进行协议扩展约束》经验,为你挑选了0个好方法。ios,swift,lua,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,... [详细]

  • 如何解决《iOSAVPlayer未加载大多数HLS流》经验,为你挑选了0个好方法。streaming,http-live-streaming,ios,avplayer,swift,DevBox,在线流程图,编程,编程问答,程序员,开发者工具... [详细]

  • 如何解决《Xcode7.2找不到匹配的配置文件》经验,为你挑选了6个好方法。xcode,ios,provisioning-profile,go,iphone,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具... [详细]

  • 如何解决《C++析构函数分段错误》经验,为你挑选了1个好方法。c++,ios,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工... [详细]

  • 如何解决《Xamarin表单ListViewCachingStrategy》经验,为你挑选了0个好方法。ios,xamarin,xamarin.mac,xamarin-studio,xamarin.forms,DevBox,在线流程图,编程... [详细]

  • 如何解决《点按时,UniversalLinks不会将用户重定向到我的应用》经验,为你挑选了1个好方法。ios,ios-universal-links,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,jso... [详细]

  • 如何解决《如何在另一个故事板中添加故事板引用》经验,为你挑选了1个好方法。iphone,storyboard,ios,uistoryboard,uistoryboardsegue,DevBox,在线流程图,编程,编程问答,程序员,开发者工具... [详细]

  • 如何解决《iOS:XMPPFramework:无法使用gmail帐户登录》经验,为你挑选了0个好方法。objective-c,ios,xmppframework,服务器,go,xml,DevBox,在线流程图,编程,编程问答,程序员,开发者... [详细]

  • 如何解决《在iOS中从提供的视图控制器推送视图》经验,为你挑选了5个好方法。objective-c,uinavigationcontroller,pushviewcontroller,ios,presentviewcontroller,De... [详细]

  • 如何解决《iOS,ld:框架找不到架构arm64的GoogleMaps》经验,为你挑选了0个好方法。google-maps,ios,cocoapods,swift,xcode7,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,... [详细]

  • 如何解决《C++:按升序排序数组的初始部分,按降序排列另一部分》经验,为你挑选了1个好方法。c++,arrays,sorting,ios,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,un... [详细]

  • 如何解决《从函数指针列表中获取函数的索引》经验,为你挑选了1个好方法。java,java-8,method-reference,go,ios,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,... [详细]

相关标签
  

闽ICP备14008679号