【问题标题】:UIScrollView only scroll with at least 1 object inserted from Interface BuilderUIScrollView 仅滚动从 Interface Builder 插入的至少 1 个对象
【发布时间】:2013-06-10 12:49:10
【问题描述】:

我在这里有一个奇怪的行为:我的UIScrollView 只想在我至少有 1 个来自 Interface Builder 的对象时工作。

因为我还动态添加了一些子视图,例如:

[scrollView addSubview:player.view];

但如果我将至少 1 个项目 从 IB 放入 scrollView,它就不会工作除了

请注意,为了在我的头文件中声明我的 scrollView,我使用 IB 拖放并创建了一个 IBOutlet

@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

然后我合成它。

有人遇到过同样的问题吗?

感谢您的帮助和想法。

【问题讨论】:

  • 你试过了吗[yourScrollView setContentSize:CGSizeMake(800, 1000)];
  • 它有效,但我不知道为什么...我不应该这样做,因为它适用于从 IB 丢弃的项目。

标签: ios uiscrollview iboutlet


【解决方案1】:

据我所知,您至少需要编写一些代码才能使UIScrollView 工作,至少必须设置 contentSize。

在滚动视图中为您的内容(例如滚动内容)添加另一个 IBOutlet,并将滚动视图内容大小设置为 viewDidAppear 中滚动内容的边界

尝试调试您的代码。 viewDidLoad 中的 contentSize 可能为零。正常,view的大小只有viewDidAppear知道。

示例代码见http://bitbucket.org/robvanderveer/scrollviewdemo

【讨论】:

  • 是的,但正如我之前所说,为什么我要设置 scrollView 的 contentSize,当它只通过拖放从 IB 添加一个对象时?
  • 我不确定,但我猜当 nib 或 storyboard 被加载时,它会为你设置属性。我自己,我开始更多地编写代码以确保它按照我喜欢的方式完成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
相关资源
最近更新 更多