【问题标题】:iOS /Obj-C UIScrollView and PageControl not workingiOS / Obj-C UIScrollView 和 PageControl 不起作用
【发布时间】:2013-01-16 01:01:21
【问题描述】:

我正在尝试按照本网站上的指南使用 UIPageControl 实现 UIScrollView: http://www.iosdevnotes.com/2011/03/uiscrollview-paging/ 与指南相反,我在情节提要项目中实现这一点,并使用 XCode4.5.2。除了指南中的代码,我在@interface的开头添加了,在实现的viewDidLoad方法里面,我添加了scrollView.delegate = self。

仅将指南中描述的代码和 IB 对象添加到我的应用程序中,当我在 iPhone 上测试它时,它根本不允许我滚动。我唯一能做的滚动是通过在 UIPageControl 上滑动手指,这会使 PageControl 中的“白点”向我滑动的方向移动一个点,并且 ScrollView 中没有可见的变化。在指南中,我们为 scrollView 中视图的背景添加了不同的颜色——这些颜色都没有出现。

我已尝试通过将 NSLogs 放入我的代码中来进行调试,以查看应用程序使用了哪些方法。添加一个 NSLog (@"View did load");就在 [super viewDidLoad] 之后;在主视图控制器顶部的 viewDidLoad 方法中不会向终端输出任何内容。这是否意味着我的应用无法正常加载?

提前致谢!

【问题讨论】:

    标签: iphone ios objective-c uiscrollview uipagecontrol


    【解决方案1】:

    你有多个页面添加到滚动视图吗?如果您只有一页内容,则默认关闭滚动。确保调用 loadScrollView 方法并添加:

    scrollView.pagingEnabled=YES;
    

    【讨论】:

    • 另外你是什么意思 viewDidLoad 不输出任何东西? ViewDidLoad 仅在您的应用程序第一次加载时被调用,如果它是您的主屏幕(除非您继续返回该屏幕而不是关闭)。每次都会调用 ViewWillAppear 和 viewDidAppear。
    • 我已经勾选了在 IB 中启用分页。我所说的 viewDidLoad 不输出任何内容的意思是:我在该方法中放置了一个 NSLog @"View did load" 以查看它是否运行,但它从不运行——即使我启动应用程序时也不运行。
    • 您确定在 Interface Builder 中设置了正确的类吗?听起来 IB 没有与您的代码挂钩。
    【解决方案2】:

    如果你有兴趣,我创建了这个类来使用滚动视图进行分页

    https://github.com/andrealufino/ALScrollViewPaging

    【讨论】:

      猜你喜欢
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      相关资源
      最近更新 更多