有谁知道在情节提要中从另一个 nib 加载 UIView 内容的方法?我知道我可以用代码轻松地做到这一点,但我正试图弄清楚如何在 IB 中做更多的事情。
我有一个带有主要 UI 布局的故事板,我有一个 UIScrollView,我想在 IB 中设计它的内容。我能弄清楚如何做到这一点的唯一方法是在自己的 .nib 中设计 UIView,但是我的问题是,如何在不编码的情况下加载 nib?这甚至可能吗?这对我来说似乎并不太牵强。
有谁知道在情节提要中从另一个 nib 加载 UIView 内容的方法?我知道我可以用代码轻松地做到这一点,但我正试图弄清楚如何在 IB 中做更多的事情。
我有一个带有主要 UI 布局的故事板,我有一个 UIScrollView,我想在 IB 中设计它的内容。我能弄清楚如何做到这一点的唯一方法是在自己的 .nib 中设计 UIView,但是我的问题是,如何在不编码的情况下加载 nib?这甚至可能吗?这对我来说似乎并不太牵强。
我假设您只是想在 IB 中布置您的 UIScrollView,提到 .nib 是因为这是您正在探索的一种方法,但是如果您可以在情节提要中严格执行此操作,那将是可以接受的,如果不是更可取的话:
首先,在 Xcode 中创建一个新文件,它是 UIScrollView 的子类。
在情节提要中,将 UIScrollView 拖到要显示此滚动视图的场景(视图控制器)中。
在身份检查器中,将 UIScrollView 的自定义类设置为 UIScrollView 的子类。
通过 ctrl+将 UIScrollView 拖到它所显示的 ViewController 子类的 .h 文件中,为此 UIScrollView 创建一个出口。将其命名为 myScrollView
在 ViewController 的 -viewDidLoad 方法中,将 UIScrollView 的 contentSize 属性设置为您想要的任何大小。所以它看起来像:
self.myScrollView.contentSize = CGSizeMake(800,800);
现在,将 UI 对象拖到您的 UIScrollView 和设计中。
重要提示:为这些对象创建出口有点棘手。假设你拖出了一个 UILabel。您需要手动进入 UIScrollView 子类并添加到 .h
@property(非原子,弱)IBOutlet UILabel* myLabel;
和.m
@synthesize myLabel = _myLabel;
现在您需要将大纲视图与情节提要一起显示在屏幕上,然后按 ctrl+从您的滚动视图拖动到您的标签以创建一个出口。这有点与你习惯的相反。
现在您可以从 viewcontroller 或 scrollview 子类中引用该插座。例如,在 viewcontroller -viewDidLoad 你可以说:
self.scrollView.myLabel.text = @"Hello World";
!
在 IB 中添加一个通用 UIView,将其自定义类设置为您的 nib 文件的名称。
将 GradientControl 替换为您的 nib 文件的名称(减去“.xib”)。