ios - 使用 Drawrect 绘图

标签 ios uiview core-graphics

亲爱的objectiveC大师们, 我是一名苹果新手程序员,由于我目前正在攻读数学教育硕士学位,因此我希望撰写一篇关于制作基于数学教育的应用程序的论文。

现在,我正在尝试制作一个 iPad 应用程序来绘制正弦函数,然后转换正弦函数。我通过重写自定义 uiview 类中的 drawrect 函数来绘制正弦图,并将其加载到 uiview 对象中。正弦函数在上下文中很好地绘制,以及在不同上下文中绘制的网格和轴。

我放置了几个 slider ,然后计划使用 slider 来更改我用于绘图的 uiview 类中的变量。现在问题来了,我意识到我无法从自定义 uiview 类访问 viewcontroller 中的变量,我怀疑我在编写整个程序时可能错误地使用了错误的范例。

有人可以帮我解决这里的困惑吗?它不必是精确的代码,而是更多关于我应该如何在 View 对象上绘制和重绘正弦函数,同时通过 slider 更改正弦函数的变量的大图。

感谢您的热心帮助:) 来自印度尼西亚的钱德拉。

最佳答案

有两种方法可以解决这个问题:

  1. 您还可以在 slider 之一发生变化时将值推送到 UIVIew,而不是让 UIView 向 UIViewController 询问值。这样 UIView 就会做它应该做的事情:绘制 ViewController 要求他做的事情。 想象一下像 redrawUsingNewValues: 这样的函数,您在 UIView 中实现并从 UIViewController 调用。

  2. 使用委托(delegate)。如果您确实希望 UIView 处于控制之中,您可以使用委托(delegate)为其提供一个指向 UIViewController 的指针。这样 UIView 不拥有 UIViewController,但你可以获取你想要的值。 关于委托(delegate)的介绍可以在这里找到:Delegation and the Cocoa Frameworks

祝你的计划顺利!

关于ios - 使用 Drawrect 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587990/

相关文章:

ios - 如何在 Apple Watch 中打开具有特定位置的 map 应用程序?

ios - CALayer Antialiasing 不如 UIView antialiasing

IOS:管理某些 UIView 中的元素

ios - 每个 CALayer 都有自己的绘图上下文吗?

ios - 如何在 iOS 中以编程方式设置在循环中创建的多个 UISwitch?

ios - 在当前配置文件中添加 UDID

ios - ios7中的日期格式问题

ios - 自定义 UIView 未接收触摸事件

ios - 如何使用 CoreGrahpics 和 Core 动画绘制文本

iphone - 在上下文中绘图时如何翻转坐标?