ios - 尽管不使用自动布局,但垂直滚动在 UIScrollView 和 iOS7 和 Xcode 5 中不起作用

标签 ios objective-c xcode uiscrollview

当我尝试在 iOS 7 和 Xcode 5 中使用 UIScrollView 时,它不响应垂直滚动。我首先从对象库中拖放ScrollView到storyboard,设置它的大小为width = 320和height = 1500,然后拖放三个标签,并将这些标签定位在y = 300, 800, 1200。对于y坐标的标签等于 800 和 1200,我首先将 scrollview 移动到上层以使这些对象位于相应的 y 值。然后,我将 scrollview 作为 outlet 连接到实现文件,并在 viewDidLoad 方法中,我编写了 self.myScrollView.contentSize = CGSizeMake(320, 1500)。最后将 scrollview 的大小设置为 width = 320 和 height = 568。 然后运行模拟器,但它对垂直滚动没有反应。然后我取消选择 use autolayout 并再次运行模拟器,它仍然根本无法工作。

那么我该如何解决这个问题呢?或者谁能​​告诉我有关 iOS 7 和 Xcode 5 中 UIScrollView 的任何有用教程(这很重要,因为我读过的每个教程都是基于以前的版本)?

我使用 Xcode 5.0.2。

谢谢。

最佳答案

这是 self 回答

我将 self.myScrollView.contentSize = CGRectMake(320, 1500);viewWillAppear 更改为 viewDidLoad,然后运行模拟器,然后由于某些原因,滚动现在正在工作。正如我在原帖中所说,我首先将其写在 viewDidLoad 中,并在阅读 kkocabiyik 的回答后将其移至 viewWillAppear 中。我不确定为什么我的原始代码不起作用 - 可能是因为我在从 Mani 和 Rashad 那里获得很多帮助的过程中稍微修改了我的代码,但同时将上面的代码保留在 viewWillAppear 中时间。

对于那些将来会陷入同样的​​陷阱并遇到这个问题的人,我已经能够从这个设置中解决这个问题:

  • viewDidLoad
  • 中编写 self.myScrollView.contentSize = CGSizeMake(320, 1500);
  • 将 Storyboard中的 UIScrollView 作为 IBOutlet 属性连接到 myScrollView
  • 不使用自动布局
  • 将 x = 0, y = 0, width = 320, height = 568 设置为 Storyboard中的 ScrollView

还要注意,使用自动版式是行不通的。此外,在 viewWillAppear 中使用自动布局和设置 contentsize 也不起作用。

我想感谢所有帮助我解决这个问题的人。谢谢。

关于ios - 尽管不使用自动布局,但垂直滚动在 UIScrollView 和 iOS7 和 Xcode 5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21015490/

相关文章:

ios - 如何使用 NSAttributedString objective-c 为字符串的一部分加下划线

ios - RestKit 延迟加载的最佳实践

ios - 通过硬代码加载与标签栏 Controller 相关的所有 View

objective-c - 尝试在 XCode 中淡入从 URL 异步加载的图像

ios - 将 UIImageView 添加到 UIScrollView

objective-c - 使用 NSDate 获取每年 7 月的日期

iphone - 如何从 UIAlertView 获取输入?

objective-c - Facebook:[FBSession activeSession] 崩溃应用

Objective-c - 仅实现中的方法和扩展类的方法,有什么区别

c - Firebird 数据库连接凭据