虽然我UIScrollView过去通过编程方式成功地使用它,但是通过在Interface Builder中专门设置它而无法使它工作.
我的iPhone应用程序中有一个简单的"关于"页面.它有UITextView一些图标和我其他应用程序的链接.我已经将所有这些视图添加到了我的视图中UIScrollView,使它们的总大小> 480.当我启动我的应用程序时,scrollview只显示适合屏幕的内容,而不会滚动任何内容.
是否可以通过IB完全执行此操作,还是必须通过代码操作contentSize?
因此,我正在尝试创建一个UIScrollView仅在故事板中,允许我添加滚动标签超过VC的高度.这是我做的:
创建UIScrollView占用任何宽度任何高度VC的大小
对于顶部,底部,左侧和右侧的最近邻居间距设置约束0
创建的视图是一个subView的UIScrollView与所述相同的宽度的任何宽度的任何高度,但VC 1500高度(因为我只希望它垂直滚动).
将约束设置为最近邻居为0仅适用于左侧,上方和右侧,并将高度约束设置为1500.
我在顶部subView和底部放了一个标签
当我在iPhone 6上运行应用程序时,不会按我希望的方式垂直滚动.任何想法为什么这不起作用?提前致谢.
虽然这里的问题存在多个问题和答案,但我无法创建UIScrollView静态和动态内容(通过使用a ContainerView)并使大小正常工作.因此,我将提供一步一步的指导,直到我无法取得任何进展,有人可以提供解决方案.通过这种方式,我们将有一个可行的样本,可以一步一步地使其工作.
请注意:为方便起见,所有步骤的输出都上传到https://github.com/oysteinmyrmo/DynamicScrollablePage.可以从那里获取测试Xcode项目并进一步攻击.
更新:在@ agibson007的答案之后,最后有几个步骤可以将原始步骤修复为正常工作的解决方案.通过声明ERROR,查看最终步骤来指出错误.
目标:
有一个UIView带有各种静态UIViews和ContainerView动态内容的长滚动页面.为了完整起见,动态内容将包含一些静态UIViews和一个UITableView将扩展到其全部内容的内容.最后一个因素似乎是我最近偶然发现的各种问题的一个反复出现的主题.
方法:
UIViews,UIViewControllers和其他所需项目.第1步:项目创建
打开Xcode(8.2.1),启动一个新项目.
UIScrollView在第一个选项卡中创建.第2步:项目的初始更改
UI的更改将在第一个选项卡中完成.这个过程很大程度上受到这个答案的影响,但我们会ContainerView为动态内容添加几个项目和一个项目.
Main.storyboard,First View(即标签1)删除两个标签.UIViewController(首先命名).转到它的大小检查,从改变Fixed到Freeform,改变高度1500这只是故事板视觉变化.UIView为RootView.UIScrollView内部RootView.说出来ScrollView.约束:
ios ×3
uiscrollview ×3
autolayout ×1
ios8 ×1
iphone ×1
size-classes ×1
uitableview ×1
uiview ×1