gpt4 book ai didi

objective-c - 我可以仅使用 Interface Builder 将 nib 内容加载到 UIView 中吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:14:31 24 4
gpt4 key购买 nike

有谁知道在 Storyboard中从另一个 nib 加载 UIView 的内容的方法吗?我知道我可以用代码轻松地做到这一点,但我正试图弄清楚如何在 IB 中做更多的事情。

我有一个带有主要 UI 布局的 Storyboard,我有一个 UIScrollView,我想在 IB 中设计它的内容。我能弄清楚如何做到这一点的唯一方法是在它自己的 .nib 中设计 UIView,但我的问题是,如何在不编码的情况下加载 nib?这可能吗?这对我来说似乎并不太牵强。

最佳答案

我假设您只是想在 IB 中布置您的 UIScrollView,提到 .nib 是因为这是您正在探索的一种方法,但是如果您可以严格地在您的 Storyboard 中执行此操作,那将是可以接受的,如果不是首选:

  1. 首先,在 Xcode 中创建一个新文件,它是 UIScrollView 的子类。

  2. 在您的 Storyboard中,将 UIScrollView 拖出到您要显示此 ScrollView 的场景( View Controller )。

  3. 在身份检查器中,将 UIScrollView 的自定义类设置为您的 UIScrollView 子类。

  4. 通过按住 ctrl 键并拖动 UIScrollView 到显示它的 ViewController 子类的 .h 文件中,为此 UIScrollView 创建一个导出。将其命名为类似 myScrollView 的名称

  5. 在您的 ViewController 的 -viewDidLoad 方法中,将 UIScrollView 的 contentSize 属性设置为您想要的任何大小。所以它看起来像:

    self.myScrollView.contentSize = CGSizeMake(800,800);

  6. 现在,将 UI 对象拖出到您的 UIScrollView 并进行设计。

  7. 重要提示:为这些对象创建导出有点棘手。假设您拖出了一个 UILabel。您需要手动进入 UIScrollView 子类并添加到 .h

    @property (nonatomic, weak) IBOutlet UILabel* myLabel;

和.m

@synthesize myLabel = _myLabel;
  1. 现在您需要在屏幕上显示您的大纲 View 以及您的 Storyboard,然后按住 ctrl 并从您的 ScrollView 拖动到您的标签以创建一个导出。这与您习惯的做法有点相反。

  2. 现在您可以从 viewcontroller 或 scrollview 子类中引用该 socket 。例如,在 viewcontroller -viewDidLoad 中你可以说:

    self.scrollView.myLabel.text = @"Hello World";

喂!

关于objective-c - 我可以仅使用 Interface Builder 将 nib 内容加载到 UIView 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648237/

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