如何启用 Core Plot 饼图中的某个部分的触摸选择?

2023-12-02

我正在使用 Core Plot 框架来绘制饼图,并且在绘制饼图本身时没有任何问题。

但是,我需要饼图本质上是交互式的,即,如果我点击饼图中的任何特定部分,它应该触发导航到显示该特定部分的详细信息的页面。

我尝试使用该方法-(void)pieChart:sliceWasSelectedAtRecordIndex:,但该委托方法从未被调用。我需要什么才能启用这种触摸交互?


我已经使用 CorePlot 0.2.2 在我的 iPad 应用程序中实现了饼图选择。你的猜测使用(void)pieChart:sliceWasSelectedAtRecordIndex:是正确的,但也许你已经忘记了 声明以下两件事:

  • 您的控制器是否声明了CPP饼图委托协议?
  • 你有没有告诉饼图你的控制器是它的delegate?

我的视图控制器在标头声明中如下所示:

@interface YourViewController : UIViewController < CPPieChartDataSource,
                                                   CPPieChartDelegate,
                                                   ... >
{
   ...
   CPXYGraph*          pieGraph;
   CPGraphHostingView* pieView;
}

@property (nonatomic, retain) IBOutlet CPGraphHostingView* pieView;

- (void)pieChart:(CPPieChart *)plot sliceWasSelectedAtRecordIndex:(NSUInteger)index;

@end

饼图的创建过程被调用(void)viewDidLoad,我在其中设置饼图的数据源和委托:

-(void)viewDidLoad {
   [self createPie];
}

-(void)createPie {
   pieGraph = [[CPXYGraph alloc] initWithFrame:CGRectZero];
   pieGraph.axisSet = nil;
   self.pieView.hostedGraph = pieGraph;

   CPPieChart *pieChart = [[CPPieChart alloc] init];

   // This is important in order to have your slice selection handler called!
   pieChart.delegate = self;

   pieChart.dataSource = self;

   pieChart.pieRadius = 80.0;
   [pieGraph addPlot:pieChart];
   [pieChart release];
}

- (void)pieChart:(CPPieChart *)plot sliceWasSelectedAtRecordIndex:(NSUInteger)index {
   // Do whatever you need when the pie slice has been selected.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何启用 Core Plot 饼图中的某个部分的触摸选择? 的相关文章

  • 进入/退出编辑模式时重绘 UITableViewCell

    我有一个表格视图 其中根据表格是否正在编辑 单元格的构建方式有所不同 具体来说 处于编辑模式时选择样式为无 非编辑模式时选择样式为蓝色 当我从一个单元转换到另一个单元时 我注意到某些单元格没有更新 快速的日志记录告诉我 即使单元格的外观发生
  • 使用 iOS 分布式应用程序时 Google Cloud Messaging 显示“notRegistered”

    我在 iOS 应用程序上实现了 GCM 服务 我使用 PHP 在服务器上发送 GCM 当应用程序由开发配置文件签名时 它可以完美运行 也就是说 当应用程序使用 GCM 配置注册自身时 它始终返回一个正常运行的设备令牌 我可以使用令牌向设备发
  • 如何在 iBooks 上搜索桌面 UI

    我想像 iBooks 中那样显示 tableview 的搜索栏 我如何减少搜索栏的宽度以及如何在没有任何背景颜色的情况下显示它 另外 当页面显示时 如何最初隐藏搜索框 我可以想到两个选择 通过子类化 UITextfield 创建您自己的 U
  • 将自定义变量添加到现有类(如 UIButton)的正确方法是什么?

    在我的应用程序中 我严重依赖不同的视图类型 它们将持有不同的值 例如 对于一个按钮 我需要它有 4 个附加变量 我是这样实现的 import UIKit class ActionButton UIButton var row 0 var a
  • PhoneGap/Cordova:如何使用cookies(iOS)?

    我有一个适用于 iOS 的 PhoneGap Corodova 项目 在 iOS 模拟器上构建时 我使用了 Jquery Cookies 它们很好 但是 既然我的设备上有该应用程序用于测试 它们就不再工作了 我猜这只是 iOS 不支持的东西
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • 显示不带字母的数字键盘

    iOS 默认数字键盘中是否有隐藏数字下方字母的选项 对于某些电话语言 键盘显示时不带字母 抱歉 你所要求的是不可能的 这取决于键盘语言 只有用户可以更改键盘语言 我希望这能帮到您
  • :hover 状态在 iOS 上不会结束

    我有一个带有悬停状态的简单菜单
  • 编码的 nsdata utf8 json,在 ios 中带有重音字符

    我向网络服务器发出一个发布请求 该服务器用 JSON 回答我 这是响应的标头 Cache Control private Content Length 826 Content Type application json charset ut
  • 当用户到达 UITableView 的最后一行时,如何动态添加行?

    我有一个UITableview当前显示 10 行 固定为静态 现在我想在其中添加一个功能 当用户到达最后一行时 我想向表中添加更多 10 行UITableView 我的意思是目前我在应用程序中显示固定的 10 行 但现在我想在用户到达上一个
  • BUG - 在 IOS 中没有选择标签的完成按钮

    我正在使用最新的离子并有一个简单的选择标签
  • 如何在 AVAudioSession 内使用 iPhone XS 中内置的立体声(2 通道)麦克风?

    我试图从 iPhone XS 的所谓立体声后置麦克风获取两个通道 但在不同位置只能看到一个通道AVAudioSession and AVAudioSessionPortDescription与后置摄像头相关联 我尝试过使用AVAudioSe
  • iOS 8 支持动态链接吗?

    直到 iOS7 之前 出于安全考虑 Apple 都不支持动态链接 开发人员之间的代码重用通常依赖于静态库 这些静态库是作为应用程序可执行文件的一部分构建的 在 iOS8 中引入扩展似乎稍微改变了这一点 因为扩展是单独的可执行文件 扩展及其包
  • Swift - 本地通知不会被触发

    我正在 Swift 3 中编码 我只是想发送通知now没有任何延迟或间隔 然而 通知永远不会被触发 这是我的代码 视图控制器代码 import UserNotifications class HomeViewController UIVie
  • 故事板 - 不支持的配置 8 个冲突的约束

    我正在使用故事板自动布局 我今天在编写警告消息时注意到 MainStoryboard iphone storyboard Unsupported Configuration 8 conflicting constraints 单击警告会进入
  • tableView.dequeueReusableCellWithIdentifier() 导致应用程序挂起

    原帖 我们最近将我们的应用程序转换为 Swift 2 0 和 iOS9 我看到的一个奇怪的问题是调用 tableView dequeueReusableCellWithIdentifier 会导致应用程序挂在模拟器中 The code fu
  • 如何建立辅助NSSortDescriptor排序键?

    我已成功按排序键对数据进行排序lastName 但我想知道如何排序lastName 然后由firstName 这是我用来排序的代码lastName NSSortDescriptor sortDescriptor NSSortDescript
  • 滑动删除不起作用

    滑动删除功能在我的表格视图中不起作用 我已经在导航栏中实现了 commitEditingStyle 委托和编辑按钮 因此 当用户单击编辑按钮时 删除和添加按钮会相应显示 但是 在滑动时 删除按钮不会出现 并且似乎它无法将滑动识别为对 set
  • 如何在 iOS 上压缩 Realm DB?

    我想定期压缩 iOS 上的 Realm 实例以回收空间 我认为该过程是将数据库复制到临时位置 然后将其复制回来并使用新的default realm 文件 我的问题是Realm 其行为就像单例并回收对象 因此我无法真正关闭它并告诉它打开新的
  • UITextView 动画更改框架不会动画文本重新分配

    我有一个 UITextView 我试图在用户点击按钮时为框架的变化设置动画 基本上 文本视图会变大以适应屏幕 以便可以显示更多文本 然后当用户再次点击按钮时 它会缩小到原始框架 我使用块执行动画 如下所示 if isDisplayingDe

随机推荐

  • configmap 更改不会自动反映在各个 pod 上

    apiVersion apps v1 for versions before 1 8 0 use apps v1beta1 kind Deployment metadata name consoleservice1 spec selecto
  • 如何在python中从ffmpeg流中提取视频和音频

    我想从 ffmpeg 流中获取单独的视频和单独的音频对象 python 为此 我在我的树莓派上运行它 ffmpeg f alsa thread queue size 1024 channels 1 i hw 2 0 thread queue
  • 当高度为 100% 时,IE 10 会出现显示表格 CSS 的 bug?

    我已经尝试了 3 天来避免在我的新响应式设计中使用表格 主要是因为每个人都说它们是邪恶的 另一方面 在对 SEO 和表格进行更多研究时 有些人甚至说这提高了他们的知名度 无论如何 div 和 HTML5 的语义要好得多 所以我真的很想让下面
  • Python地址下载

    下面的代码返回none 我该如何修复它 我正在使用Python 2 6 import urllib URL http download finance yahoo com d quotes csv s s f sl1t1v e csv sy
  • Objective C 方法签名可以指定枚举类型吗?

    VoiceName 是一个枚举 声明如下 enum VoiceName PAD RHYTHM PAD RHYTHM2 PAD RHYTHM3 PEEPERS ATMOSPHERE IMPULSE FAST PULSE HAIRYBALLS
  • Boost python 包装虚拟方法

    我正在使用 boost python 创建与 c 库的绑定 该库中的许多类都具有接受 iterator const iterator 类型作为参数的虚拟方法 我并不是特别想公开这些类型 但更愿意围绕这些虚拟方法创建一些包装器来接受适当的容器
  • webkit 上浮动 div 后“overflow:hidden”div 的边距行为

    我发现 float left div 后面的 overflow hidden div 的右侧边距加倍 可以使用以下代码进行测试
  • 如何获取 PyQt 中 QGroupbox 内存在的 Qcheckbox 的状态

    我的项目包含具有多个 QGroupbox 的 Qdialog 每个 GroupBox 包含一定数量的复选框 所有组框的复选框列表都是相同的 我没有太多声誉来加载图像 在这里 用户可以根据自己的需要选择复选框并按下 确定 按钮 按下 确定 按
  • 当我们告诉 PDO 不要这样做时,为什么它会生成警告?

    Problem 我们告诉 PDO 将每个问题包装到异常中 在某些情况下 它会生成一些警告 然后才抛出异常 Why它能做到吗 重复 SO 上没有关于它的正确答案 最后一个问题是MySQL 上的 PHP PDO 异常 警告消失了 但人们只是将其
  • 在Mysql中将数字转换为单词

    我正在从数据库中获取一个值 我希望将该值转换为一个单词Mysql 有人可以帮我吗 Eg 123 gt 这个值是从数据库获取的 它以数字形式保存 我想检索这个值一百二十三从数据库中 这样做的语法是什么 查询是这样的 select value
  • Session_Start 在默认 ASP.NET MVC3 项目上多次触发

    我想我可能发现了 ASP NET MVC 及其事件管道的问题 特别是 我发现 Session Start 被多次调用 每次都包含一个新的 SessionID 以下是分步过程 打开VS2010 文件 新项目 ASP NET MVC 3 Web
  • 罗马数字到数字的转换[重复]

    这个问题在这里已经有答案了 尝试编写程序来读取表示罗马数字的字符串 来自用户输入 然后将其转换为阿拉伯形式 整数 例如 I 1 V 5 X 10 等 基本上 采用 String 类型参数的构造函数必须将字符串 来自用户输入 解释为罗马数字并
  • 如何在 Inno Setup 中编辑和检索 JSON 文件的子部分的值

    我正在创建一个安装程序 我需要编辑和检索 JSON 文件中的值 要检索并编辑值Section 2工作正常 问题是编辑和检索子部分的值Section 1 下面我们可以看到一个例子 Section 1 children 1 children 1
  • 直接设置字典元组值

    是否可以做类似的事情 dictTupleTest key Item1 toggle 在以下情况下 Dictionary
  • 如何在空手道中为 json 数组设置动态值

    我有一个 json 文件 每个 post 请求都需要 uniq 值 uniqId 55555 对于所有 uniq id 我需要传递相同的 uniqId 到目前为止 我只能设置 endtoEndid 无法设置invoiceNum 和txnVa
  • JobIntentService 的 onHandleWork() 的最大作业执行时间是多少?

    我遇到了一个SecurityException在 Android 8 上崩溃targetSDK 26使用时JobIntentService 这是来自 JobIntentService 文档 那么最大作业执行时间限制是多少 如果超过它 是否可
  • 测试使用 PersistentEntityResourceAssembler 的自定义 RepositoryRestController

    我有一个RepositoryRestController公开一些持久性实体的资源 我的控制器上有一个方法 需要PersistentEntityResourceAssembler帮助我自动生成资源 RepositoryRestControll
  • 使用块将数据传递回视图控制器

    我在看这个问题 答案之一展示了如何使用块向后传递数据查看prepareForSegue方法 我的理解是这种方法确实应该用于向前传递数据 而不是向后传递数据 我想尝试为此目的进行阻止 将数据传递回另一个 viewController 我的问题
  • 在Python中的文件末尾声明函数[重复]

    这个问题在这里已经有答案了 是否可以在不完全定义函数的情况下调用该函数 当尝试这样做时 我收到错误 函数名未定义 我有 C 背景 所以这个问题困扰着我 在工作之前声明该函数 def Kerma return energy mass prin
  • 如何启用 Core Plot 饼图中的某个部分的触摸选择?

    我正在使用 Core Plot 框架来绘制饼图 并且在绘制饼图本身时没有任何问题 但是 我需要饼图本质上是交互式的 即 如果我点击饼图中的任何特定部分 它应该触发导航到显示该特定部分的详细信息的页面 我尝试使用该方法 void pieCha