• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:15:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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



Best Answer-推荐答案


我假设您只是想在 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";

HTH!

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap