- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几周前,我开始了 Iphone 应用程序开发的研究,在不同设置中进行了大量的 hello world 应用程序之后,我现在已经准备好开发我的第一个基于 Cocoa 中使用的 MVC 设计模式的应用程序。
这给我带来了很多问题,在阅读了有关 UIViews 和 Controller 的不同类引用资料后,我一直在试图找出我应该使用哪一个。
在我的应用程序中,我试图创建一个小矩形网格,每个矩形都有不同的文本值,更具体地说,我试图创建一个简单的日历,它将显示一个月中的所有天数一个网格。
每个矩形都是我名为 Tile 的类的一个实例,在这个类中我想实现 drawRect 方法来为我绘制矩形并将文本值设置为它应该代表的日期。
为了实现这一点,我对如何完成这一点进行了一些研究。
到目前为止我所了解到的是 UIViewcontrollers 并没有真正显示任何东西,它们基本上坐在那里等待响应来自它们的 child 的任何事件。在我的应用程序中,我会将其转换为 Controller ,该 Controller 将响应图 block 上的每个触摸事件。
然而,UIView 也是一个容器,但用于需要绘制方法(如drawRect)的对象。如果我是正确的,这将转换为将容纳所有图 block 的网格。
除了,我不知道我应该为每个图 block 使用什么子类,我感觉我真的缺少一些基本知识,但我就是无法弄清楚。
如果有人能指出我正确的方向,我将非常感激。
最佳答案
如果您应该阅读任何两个苹果文档,那就是关于 UIViewController 的文档,可以在 here 找到。以及关于 UIView
的一个,可以在 here 中找到。 。正如您所提到的,UIViewController
更多的是与 iOS 系统集成,而不是作为一个可见组件。它引用了 UIView
,并且 UIView
是从该 View Controller 开始的可见元素树中的根节点。
在 iOS 编程中,您实际上不需要担心绘制矩形,因为在大多数情况下,您将扩展知道如何绘制自身的元素,然后只是告诉它们要去哪里。在本例中,基本可见元素是 UIView。有许多不同类型的 UIView
(请参阅 UIView 编程指南链接中的图形),因此对于您的情况,您可以使用简单的 UIView
,并将背景图像设置为您的日历框图形,并添加 UILabel
类型的 subview 。 UILabel
是 UIView
的子类,因此您知道它也将是可见的。
一旦您掌握了这些概念(这可能需要很长时间),Interface Builder
将开始变得更有意义,您可以开始用它做一些事情 - 并了解它是如何工作的。本质上,它会自动创建引用 UIView
层次结构的 UIViewController
层次结构,然后是您。
关于iphone - 掌握 UIviews 和 UIViewcontrollers 的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845741/
我希望能够在代码中布局我的 View Controller ,但可以看到界面构建器中显示的布局。 我知道我可以创建一个 UIView 子类,使其 IBDesignable,并将其分配给 View Co
我有一个父 UIViewController(MainVC)。从那里我有 2 个 segue 到 2 个 UIViewControllers:FirstVC(标识符:goFirstVC)和 Secon
我有一个导航 Controller 。第一个viewcontroller 是FirstViewController 的一种。当我在 FirstViewController 中点击一个按钮时,它会将第二
我有一个自定义的动画 UIViewController 过渡,似乎 iOS 中有一个错误会破坏横向布局。在主要动画方法中,我得到了横向和纵向 View 的混合。 (纵向 View 都是纵向的,所以没问
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
我有一个 UIViewController,里面有 UITabBar。我正在尝试模仿 UITabBarController。 My question is how do I set or a UIVi
是否有任何方便的方法来确定是否正在从处于后台模式的应用加载 View ? 在 3.X 中,我将依赖 viewDidLoad 进行一些初始化等操作,但是对于 4.X 而言情况并非如此,因为您不能依赖调用
我将主视图 Controller 作为带有 UICollectionView 的 View Controller ,并且填充了照片。 一旦一个单元格被点击,一个新的 View Controller 被
我有一个简单的 UIViewController(单点触控),在 UI 上有一个按钮。现在,我的用例很简单 - 我想在单击按钮时重新加载 UIViewController。在某些线程上,我读到我只需要
我在它上面有一个 UIViewController 1 UIButton(添加为 subview ),在我按下 Button(见下面的图 1)之后,在它上面添加了另一个 UIViewControlle
尝试为 iPad 制作基于 Storyboard的应用程序。在其中,我需要从开始屏幕 (UIViewController) 过渡到主屏幕 (UISplitViewController),然后再到全屏
我想调整 UIViewController 的大小在 Storyboard中,所以我可以使用它的 UIViewController作为弹出 View 。 在大多数网站上,我可以读到这些操作是: 拖一个
我正在尝试从 XIB 或 Storyboard加载 ViewModel 绑定(bind)的 ViewController(使用 MvvmCross 5.0.6)。我的应用程序的逻辑是,该 View C
我正在构建一个锻炼应用程序。我的 TableViewController 中有一系列练习,每个单元格显示不同的练习。单元格转到 UIViewController。在 UIViewController
我正在尝试从 XIB 或 Storyboard加载 ViewModel 绑定(bind)的 ViewController(使用 MvvmCross 5.0.6)。我的应用程序的逻辑是,该 View C
我有一个 UIViewController,它有一个模式窗口,我想在整个界面上展示它,包括 UITabBar。 我的应用程序层次结构是这样的: UITabBarController (A) ->
我想显示另一个 ViewController 的缩小“预览”在另一个 ViewController .这可能吗?不需要交互,因此它基本上可以是屏幕截图,但按比例缩小。我可以通过手动截屏并将其保存为图像
我正在开发一个应用程序,其中 UIViewController ( firstViewController ) 包含一些 UILabels , 一个 UIButton , 和 UIView ( sub
我的标签栏中有五个标签栏项目。第五项是弹出ViewController。因此,当我单击该按钮时,当前 Controller 中将显示一个弹出窗口。我使用 UIViewController 作为子类来实
我正在开发 iOS 应用程序。 我的应用程序有 6 个按钮,每个按钮都有每个标签栏控件。 so Main screen is [btn1] [btn2] [btn3] [btn4] [btn5] [b
我是一名优秀的程序员,十分优秀!