如何为iPhone设置用户控件?

时间:2010-07-05 02:42:36

标签: iphone objective-c cocoa-touch uikit

所以我读到了Interface Builder插件,但据我所知,它们在MAC上的IPhone上不受支持。

基本上我想在iPhone开发中创建用户控件(这是一个.NET术语)吗?用户控件基本上就像我试图创建自己的自定义按钮,或自己的自定义滑块等,以便它可以轻松重复使用。

有什么建议吗?谢谢!

3 个答案:

答案 0 :(得分:1)

除了你可以直接将UIView子类化为一种全新的视图外,Cocoa Touch中存在“User Control”(来自它的声音)的通用性。

但是,您可能会发现更容易子类化现有的UIButton,UISlider等类。这样的子类应该是轻量级的:您不需要做更多的操作就可以更改控件的部件图像(例如,滑块的拇指和轨道)。

除了更容易之外,对现有类进行子类化还意味着您的控件在行为上将与标准控件保持一致。想象一下,如果您在Apple添加复制和粘贴之前从头开始实现自己的文本字段。

创建子类之后,您应该能够在IB中选择控件并将其自定义类名设置为自定义子类的名称。然后,您应该能够将这些控件添加到库中以重用它们。 (警告:我只编写Mac软件,所以我不知道IB是否具有iPhone开发的这些功能。)

答案 1 :(得分:0)

我的Objective-C有点生疏(我在说话的时候正在挖回它),但我要做的是创建一个控制按钮的对象。然后,您可以向按钮发送消息,以便它在按钮的实例化之间保持一致。

我会添加一些代码供你观看,但我已经有侄子和侄女爬到我身边(七月四日快乐!) - 祝你好运! (顺便说一下,我是adium的粉丝!)

答案 2 :(得分:0)

实际上,这比你想象的要容易。虽然您无法自己制作“用户控件”,但实际上您可以自定义几乎所有UIKit控件的外观,例如自定义按钮,编辑文本字段属性和字体等。您可以使用如果您愿意,可以在运行时将其添加到父视图中。它可以多次使用,或者你可以根据需要单独定制它们,这是我喜欢的,因为它的简单。