有谁知道在 Storyboard 中从另一个 nib 加载 UIView 内容的方法?我知道我可以用代码轻松地做到这一点,但我正试图弄清楚如何在 IB 中做更多的事情。
我有一个带有主要 UI 布局的 Storyboard,我有一个 UIScrollView,我想在 IB 中设计它的内容。我能弄清楚如何做到这一点的唯一方法是在自己的 .nib 中设计 UIView,但是我的问题是,如何在不编码的情况下加载 nib?这甚至可能吗?这对我来说似乎并不太牵强。
Best Answer-推荐答案 strong>
我假设您只是想在 IB 中布置您的 UIScrollView,提到 .nib 是因为这是您正在探索的一种方法,但是如果您可以在 Storyboard 中严格执行此操作,则可以接受,如果不是最好的:
首先,在 Xcode 中创建一个新文件,它是 UIScrollView 的子类。
在 Storyboard 中,将 UIScrollView 拖到要显示此 ScrollView 的场景( View Controller )中。
在身份检查器中,将 UIScrollView 的自定义类设置为 UIScrollView 的子类。
通过 ctrl+将 UIScrollView 拖到它所显示的 ViewController 子类的 .h 文件中,为此 UIScrollView 创建一个导出。将其命名为 myScrollView
在 ViewController 的 -viewDidLoad 方法中,将 UIScrollView 的 contentSize 属性设置为您想要的任何大小。所以它看起来像:
self.myScrollView.contentSize = CGSizeMake(800,800);
现在,将 UI 对象拖到 UIScrollView 并进行设计。
重要提示:为这些对象创建导出有点棘手。假设你拖出了一个 UILabel。您需要手动进入 UIScrollView 子类并添加到 .h
@property (nonatomic, weak) IBOutlet UILabel* myLabel;
到.m
@synthesize myLabel = _myLabel;
现在您需要将大纲 View 连同 Storyboard 一起显示在屏幕上,然后 ctrl+从您的 ScrollView 拖动到您的标签以创建一个导出。这有点与你习惯的相反。
现在您可以从 viewcontroller 或 scrollview 子类中引用该 socket 。例如,在 viewcontroller -viewDidLoad 你可以说:
self.scrollView.myLabel.text = @"Hello World";
HTH!
关于objective-c - 我可以仅使用 Interface Builder 将 nib 内容加载到 UIView 吗?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11648237/
|