【问题标题】:How to get a reference to an object in a .nib file?如何获取对 .nib 文件中对象的引用?
【发布时间】:2012-05-15 14:46:09
【问题描述】:

到目前为止,我已经在代码中完成了大多数视图编程,但是在代码中完美定位按钮确实很麻烦。我搜索了一段时间,也许我在搜索时使用了错误的词?无论如何,我在一个 nib 文件中创建了一个 UI,它有几个按钮。我像这样将 .nib 文件加载到我的视图中:

NSArray* nibViews =  [[NSBundle mainBundle] loadNibNamed:@"UCMenuView" owner:self options:nil];
UIView *menuView = [nibViews objectAtIndex:0];
self.delegate = (id<UCMapviewDelegate>)delegate;
// another controller does the view switching, so I'm sending him the view  
[self.delegate pushView:menuView];

这很好。但我不明白如何获得指向按钮的指针。我知道 IBOutlet,但是如何将它们连接到 .nib 中的元素?我将如何连接这个@property (strong, nonatomic) IBOutlet UIButton *calendar; 到 .nib 中的特定按钮?

我尝试按 ctrl-drag(从 @property 左侧的那个小点,但这不起作用(从任何一方)。如果这是一个简单的问题,请原谅,但我找不到解释清楚

感谢您的帮助

【问题讨论】:

    标签: ios xcode cocoa-touch nib iboutlet


    【解决方案1】:
    1. 不仅仅是UIView *menuView,您需要创建一个自定义 UIView 子类,例如UCMenuView。在此自定义上定义您的属性 类。
    2. 在编辑器中打开您的 .xib 文件,选择 File's Owner 左列并在标识中设置其 Custom Class 检查员到UCMenuView
    3. 右击左侧栏中的File's Owner,然后连接 您的 IBOutlets。

    【讨论】:

    • 我猜这个类必须继承自 UIView?
    【解决方案2】:
    【解决方案3】:

    请参阅 Apple 的文档:Creating and Connecting an Outlet 以及更普遍的 Designing User Interfaces in Xcode

    【讨论】:

    • 链接已损坏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多