首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftCharts StackBars in TableViewCell难以挖掘

SwiftCharts StackBars in TableViewCell难以挖掘
EN

Stack Overflow用户
提问于 2017-09-15 17:57:09
回答 1查看 85关注 0票数 1

我创建了一个日历应用程序,它使用SwiftCharts显示这样的时间条:

我将图表条嵌套在UITableViewCells中。当我点击单元格(不是直接的事件栏)时,我导航到另一个视图。目前的一切都很好,除了我直接点击酒吧本身。似乎在条形图上有一个tapGestureRecognizer或什么东西正在覆盖单元格点击。目前,当我点击这个条形图时,stackFrameSelectionViewUpdater会运行,这会改变条形图的不透明性,但是,print语句永远不会运行。Id希望禁用条上的tapRecognizer,或者让点击触发segue。你知道我会怎么做吗?

以下是我的当前代码:

代码语言:javascript
复制
barStack = ChartStackedBarsLayer(xAxis: xAxis,
                             yAxis: yAxis,
                             innerFrame: innerFrame,
                             barModels: allDayEventBar,
                             horizontal: true,
                             barWidth: 500,
                             settings: chartviewSettings,
                             stackFrameSelectionViewUpdater: ChartViewSelectorAlpha(selectedAlpha: 1, deselectedAlpha: 0.75),
                            tapHandler: {tappedBar in
                                print("user tapped bar")
                                //run segue
                            })

这是github关于这个问题的帖子:StackBars in TableViewCell难以挖掘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-02 03:51:17

这可能是由于一个不知情的分层问题造成的,我在不同的ViewController中实例化图表,然后将其附加到父ViewController中的视图。虽然我从来没有解决过这个问题,但我还是找到了一个不错的工作,用一个长的轻拍手势识别器,就像这样:

代码语言:javascript
复制
let longPressGesture:UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPress(_:)))
longPressGesture.minimumPressDuration = 0.3 
longPressGesture.delegate = self
self.usersTableVew.addGestureRecognizer(longPressGesture)

 func  handleLongPress(_ longPressGestureRecognizer: UILongPressGestureRecognizer) {
        if longPressGestureRecognizer.state == UIGestureRecognizerState.began {
            let touchPoint = longPressGestureRecognizer.location(in: self.view)
            if let indexPath = self.usersTableVew.indexPathForRow(at: touchPoint) {
                let cellData = self.homeTableData[indexPath.section][indexPath.row]
                GlobalNavDelegate.homeVCDelegate!.selectedName = cellData.name
                GlobalNavDelegate.homeVCDelegate!.segueToEditPersonCal()
            }
        }
    }

如果您对github哨所感兴趣,请查看它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46245227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档