具有自定义 drawRect 的单视图 iOS 应用程序
Posted
技术标签:
【中文标题】具有自定义 drawRect 的单视图 iOS 应用程序【英文标题】:Single view iOS app with custom drawRect 【发布时间】:2012-10-01 19:40:01 【问题描述】:虽然我明白这一点,但我无法让它发挥作用:
我正在尝试创建一个非常简单的应用程序,以测试各种事物(好的 - 这是一个使用蒙特卡洛技术通过模拟向棋盘投掷飞镖来估计 Pi 的应用程序)。
我有一个单一视图 ios 应用程序(例如,来自单一视图模板),我在它的底部有一个 UIButton(用于启动应用程序),在顶部有一个 UILabel 来显示结果。
视图控制器是 UIViewController 的自定义子类,调用 PiCalcViewController;该视图是一个标准的 UIView 填充整个屏幕。
该应用程序可以运行,但现在我希望能够绘制模拟如何在屏幕中间进行的图形表示,我将在我的视图的 drawRect 中执行此操作(对吗?)。所以我想我会创建一个新文件 (PiCalcView) 一个 Objective-C 类,使其成为 UIView 的子类,然后在 IB 中,在我的视图控制器中间拖出一个新视图并将其类更改为 PiCalcView .
很好,只是 PiCalcView 没有出现在检查器的下拉类列表中。
问题:知道有什么问题吗?像这样创建我的 UIView 的子视图是正确的方法吗?
【问题讨论】:
您是否尝试将 PiCalcView 写入下拉列表并按 Enter 并保存?过去我曾发生过这样的情况,即视图没有出现在该下拉列表中,但在手动输入后工作正常。 升级到 Xcode 4.5 后,我有时会遇到同样的问题几次。我做了一些别的事情,每次发生后都会回来,新的班级又出现了。 【参考方案1】:在 Identity Inspector 的自定义类部分中键入类。
【讨论】:
它允许我这样做,但从我一直关注的教程中,我知道我的自定义类应该出现在下拉列表中。我从其他项目中拖入了其他自定义 UIView,它们似乎可以工作。【参考方案2】:好的 - 退出并重新启动 Xcode 似乎可以解决问题。
感谢您的提示 - 作为 Xcode 和 ObjC 的新手,我不知道我是否掌握了正确的技术。至少我现在知道了。
【讨论】:
以上是关于具有自定义 drawRect 的单视图 iOS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
我真的需要在自定义 UIView 中使用 drawRect() 吗?
在我的自定义 UIView 中,设置子视图的 backgroundColor 会导致它覆盖我的 drawRect 绘图(CGContextRef、CGMutablePathRef 等)。怎么修?