gpt4 book ai didi

iphone - iOS:从 Nib 加载自定义 UIView

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:25 26 4
gpt4 key购买 nike

我想创建自己的 UI 库,其中包含几个可重用的控件。一个非常简单的可以是一个 LabeledView,它包含一个 UIView(最有可能是一个 UIImageView)和下面的一个 UILabel。

----------------
| outer UIView |
| ------------ |
| | | |
| | UIView | |
| | | |
| ------------ |
| | UILabel | |
| ------------ |
----------------

如何在 Interface Builder 中实现它并在创建外部 UIView 时“注入(inject)”内部 UIView 和 UILabel?我将外部 UIView 作为文件所有者,将内部 UIView 和 UILabel 与 IBOutlet 连接到我的 LabeledView 中的属性。我现在想象一个像这样的初始化函数:

[[LabeledView alloc] initWithView:(UIView *)theView andLabel:(UILabel *)theLabel]

该方法应该从 nib 加载具有定义布局的 View ,并将 theViewtheLabel 插入其中。这不会太难,不是吗?我不明白...

最佳答案

如果您已经在 nib 中定义了 View 等,那么您可以在运行时使用 loadNibNamed: 添加它们,如下所述:http://developer.apple.com/library/ios/documentation/uikit/reference/NSBundle_UIKitAdditions/Introduction/Introduction.html

这将返回一个数组,第一个对象将是 nib 中的顶级对象 - 上面示例中的容器 View 。

从 nib 加载东西时不要使用 alloc/init,因为 nib 本身包含对象的序列化版本,该对象已经实例化。

关于iphone - iOS:从 Nib 加载自定义 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8457667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com