繁体   English   中英

IB / Xcode 4.5.1和iOS Simulator 6.0定制UIView操作方法

[英]custom UIView how-to with IB / Xcode 4.5.1 and iOS Simulator 6.0

我知道有几个与此类似的问题,但是我发现其中大多数问题不适用于当前的IB / iOS或尚未完成。

我想要一个具有笔尖的自定义UIView,但是无法正确hooked up 我花了几个小时进行调试,然后才去(可能坐在浴缸里)。 如果您觉得这很简单,请提前道歉; 提前寻求任何帮助。

目前,我要做的是:

  1. 创建自定义视图文件:File-> New-> File-> Objective-C Class,选择UIView的类型并将其命名为MyView; 创建了MyView.h和MyView.m
  2. 创建自定义视图笔尖:File-> New-> File-> User Interface-> View并将其命名为“ cool”; cool.xib已创建
  3. 在IB中的cool.xib中,进入Identity Inspector并从UIView-> MyView设置自定义类; 问题#1-此时,MyView是否知道在实例化cool.xib时加载它,还是需要做更多工作?
  4. 同样,在IB中,我突出显示文件的所有者并将其自定义类设置为MyView。 (?-不确定)
  5. 我想创建一个文本标签,所以我将UILabel拖到cool.xib上,并在MyView.h中创建一个公共属性(myLabel)。 问题#2是否需要为此将自定义类设置为MyView? 我认为不会,因为这只是一个标准的UILabel。
  6. 我有一个单一视图应用程序,并且想在其上创建MyView实例/酷,因此在IB中,我将一个View从对象检查器拖到ViewController.xib视图。 在IB身份检查器中,我将类设置为MyView。 我将MyView.h文件导入到ViewController.h中,并在界面中为其设置属性。
  7. 在ViewController.m的viewDidLoad中,我将背景色设置为橙色,并设置了myLabel(它由Xcode填充,因此似乎可以工作)。

我运行该应用程序,并且backgroundColor设置为橙色,但没有标签,并且对为什么不感到困惑? 以上步骤是否正确?

提前

在IB中的cool.xib中,进入Identity Inspector并从UIView-> MyView设置自定义类; 问题#1-此时,MyView是否知道在实例化cool.xib时加载它,还是需要做更多工作?

它知道您的XIB由该类管理。 但是还需要做更多的工作,以便您使用它。

跳过第四个问题。 这将适用于UIViewController ,您可以在其中定义谁来负责文件的所有者。

我想创建一个文本标签,所以我将UILabel拖到cool.xib上,并在MyView.h中创建一个公共属性(myLabel)。 问题#2是否需要为此将自定义类设置为MyView? 我认为不会,因为这只是一个标准的UILabel。

如果您希望能够从MyView访问该UILabel,则应该在MyView创建一个IBOutlet,并将其从根UIView的链接(这是MyView的子类)链接到UILabel 在这种情况下,您无需触摸文件的所有者。

最后检查一下,为了正确加载自定义视图=> 从nib加载自定义UIView,nib中包含的所有子视图均为nil?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM