gpt4 book ai didi

iphone - 使用 Interface Builder 创建 UIScrollView 的步骤

转载 作者:技术小花猫 更新时间:2023-10-29 10:18:48 26 4
gpt4 key购买 nike

我正在尝试使用 UIScrollView,似乎有一些基本的东西我只是不理解。

假设我想在我的 iPhone 应用程序中使用 UIScrollView。我有一个充满按钮的 View ,尺寸为 320x700。显然,这对于 320x480 的 iPhone 来说太大了。所以我知道我必须使用 UIScrollView。但是,这是我应该创建对象的顺序吗

  1. 创建一个尺寸为 320x700 的 UIScrollView 作为“ View ”中的尺寸
  2. 将我所有的按钮等放在这个 ScrollView 上
  3. 在 viewDidLoad 中将 contentSize 设置为 320x700
  4. 将 UIScrollView 的委托(delegate)设置为 File Owner,将 FileOwner 的 View 设置为 UIScrollView
  5. 将 View 的大小重置为 320x480。

这样对吗?

这行得通,但对我来说没有意义。我知道 View 应该是 Canvas ,我在其中添加了所有 UI 元素。我希望 iPhone 应用程序的“ Canvas ”为 320x700,并且我希望能够将我的按钮等放在这个 320x700 的 Canvas 上。但如果我不将 UIScrollView 的大小改回 320x480,它就不会滚动,因为我需要将 UIScrollView 的内容大小设置为大于它的大小。

但是如果我将 UIScrollView 的大小设置为 320x480,那么我在 Interface Builder 中看不到屏幕和 480 到 700 之间的按钮!所以看起来我应该进行所有编辑并将所有 UI 元素添加到 UIScrollView,然后将其设置回 320x480!

还有其他更有意义的方法吗?我对这应该如何工作的理解缺少什么?

最佳答案

更新

我已经发布了another solution here我认为这更简单更好。

原创

这是您可能更喜欢的另一种方法:

  1. 将文件所有者占位符的自定义类设置为您的 View Controller 子类。
  2. UIScrollView 创建为您的 nib 中的顶级对象。将其大小设置为屏幕大小 (320x460),或者只打开“模拟指标”下的状态栏。
  3. 将 ScrollView 的 delegate 导出连接到 File's Owner。
  4. 将文件所有者的 View 导出设置为 ScrollView 。
  5. 在您的 nib 中创建一个 UIView 作为另一个 顶级对象。这将是您的内容 View 。
  6. 将内容 View 的大小设置为 320x700。
  7. 在您的 View Controller (文件所有者)中创建一个名为 contentView 的强大(或保留,如果不使用 ARC) socket ,并将其连接到内容 View 。
  8. 将按钮放在内容 View 中。
  9. 在您的 View Controller 的 viewDidLoad 中,执行此操作:

    - (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.contentView];
    ((UIScrollView *)self.view).contentSize = self.contentView.frame.size;
    }
  10. 在您的 View Controller 的 viewDidUnload 中,执行此操作:

    - (void)viewDidUnload {
    self.contentView = nil;
    [super viewDidUnload];
    }

scrollbuttons project window
Full size

关于iphone - 使用 Interface Builder 创建 UIScrollView 的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9118796/

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