【问题标题】:iOS scroll view is not workingiOS 滚动视图不起作用
【发布时间】:2013-08-18 23:24:20
【问题描述】:

我在 1000 高度像素标记处有一个按钮,我需要一个 uiscrollview 才能访问该按钮。我实现了下面的滚动视图代码,它显示了滚动视图,但不允许我向下滚动。我可能缺少一个关键功能。任何提示或建议表示赞赏。

 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 680)];
scrollView.contentSize = CGSizeMake(320, 1000);
scrollView.clipsToBounds = YES;
super.view.backgroundColor = [UIColor whiteColor];
[scrollView setUserInteractionEnabled:YES];
[[self view] addSubview:scrollView];

【问题讨论】:

  • 你在使用自动布局吗?
  • 你在哪里运行这段代码??在viewDidLoad?
  • 是的,我正在使用自动布局和 viewdidload。
  • 您是在 iPhone 还是 iPad 上运行它?如果是 iphone,那么它肯定不会一直滚动到顶部。 scrollView.frame.size.height 不应超过它的 parentView 高度。
  • 尝试在viewDidLayoutSubviews 中设置contentSize 而不是viewDidLoad:

标签: ios cocoa-touch uiscrollview


【解决方案1】:

问题在于您的按钮的 y 坐标是 1000 像素,正如您所说。并且滚动视图的 contentZize 的 y 坐标也最大为 1000 像素。所以滚动视图可以向上滚动到按钮开始的确切位置。

UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(50, 1000, 100,45);
[scrollView addSubview:btn];

像这样设置滚动视图的内容大小

scrollView.contentSize = CGSizeMake(320, 1100);

这肯定会解决的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    相关资源
    最近更新 更多