【问题标题】:How to dynamically change Interface Builder xib files by writing Objective-C code?如何通过编写 Objective-C 代码来动态更改 Interface Builder xib 文件?
【发布时间】:2012-10-21 23:50:55
【问题描述】:

今天我正在为 iOS 编写我的第一个“Hello World”应用程序。我想知道如何以类似于 Android XML 布局文件或 XAML 的方式以编程方式操作 .xib 文件?我还希望 Interface Builder 动态显示更改。例如,我有一个.xib 文件"LoginPageView.xib",其中有我通过Interface Builder 构造函数添加的按钮和其他控件,然后我将此.xib 连接到.m"LoginPageViewController" 的私有class extension文件。现在我想以编程方式添加一个新按钮:UIButton *button = [[UIButton alloc] initWithCGRect:...]; 或者我想更改按钮的背景等等。

我知道的唯一方法是在 viewDidLoad 方法中实现它,但如果我这样做,我的更改将仅在程序运行时显示,我希望 Interface Builder 在编译之前动态显示这些更改。那么问题是在 Xcode IDE 中是否有某种方法可以实现这一点并说明如何做到这一点?

【问题讨论】:

    标签: objective-c ios xcode interface-builder xib


    【解决方案1】:

    简短的回答是否定的,这是不可能的。长答案是,您可以通过对 .xib 文件格式(即 XML)进行逆向工程并弄清楚如何自己编写来实现这样的事情。这将比它的价值更麻烦。

    【讨论】:

    • 如果我在这里错了,请纠正我,但是一旦将 xib 编译为 nib,任何 XML 操作的尝试都不会被证明是轻浮的吗?
    • 其实,@NSPostWhenIdle,我写了一个 XIB XML 阅读器。 XIB 编译时实际上并没有多少。
    • 我推测 OP 是在询问关于 XIB 的预编译操作,所以被操作的文件仍然会被正常编译。
    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    相关资源
    最近更新 更多