OStack程序员社区-中国程序员成长平台

标题: iOS - Scrollview 的滚动条显示但不滚动内容 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 05:28
标题: iOS - Scrollview 的滚动条显示但不滚动内容

我在我的应用程序 Storyboard 中的一个场景中包含了一个 ScrollView。现在我对iOS中的很多东西都很陌生,我终于设法让滚动条出现在场景中。问题是,虽然滚动条出现了,但它并没有在内容上滚动。

我在 AppRequestViewController.h 和 AppRequestViewController.m 中设置了 ScrollView:

AppRequestViewController.h

@interface AppRequestViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

AppRequestViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.contentSize=CGSizeMake(320,1000);

}

这是我的 View 层次结构:

enter image description here

Storyboard中的场景:

enter image description here

模拟器中的滚动条显示出来但不太工作:

enter image description here

谁能告诉我哪里出错了?谢谢。



Best Answer-推荐答案


在 iOS 中为 Storyboard 设置 ScrollView 可能会有点困惑。我的问题中 ScrollView 的设置是正确的,但很少有错误导致程序运行与预期不同。

首先,我找到的解决方法是取消选中文件检查器中的设置自动布局。第二个是更正 View 层次结构。为了测试我的修复,我将场景的内容更改为更简单的内容:带有 View 、 ScrollView 、嵌套 View 和两个按钮。这是新的 View 层次结构:

enter image description here

ScrollView 位于主视图之后的 View 层次结构的顶部。然后,我放置了另一个 View 来容纳其他 View 对象。我的程序首先无法运行的原因是因为 ScrollView 与其他对象处于同一级别,这就是它无法滚动内容的原因。

我还在 AppRequestViewController.m 的 viewDidLoad 方法中添加了额外的设置:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationController setNavigationBarHidden:YES];
    [self.scrollView setScrollEnabled:YES];
    self.scrollView.contentSize=CGSizeMake(320,800);

}

设置 ScrollView 非常简单,但可能会令人困惑。我根据这个 YouTube tutorial 修复了我的程序.希望这会有所帮助。

关于iOS - Scrollview 的滚动条显示但不滚动内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19942860/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4