最初是不可滚动的scrollView?

时间:2019-05-22 10:59:00

标签: ios swift uiscrollview freeform

因为我有一个滚动视图,所以我将View Controller设置为具有固定大小的自由格式(因为这是我所学到的)。我想让我的滚动视图以相同的contentSize和可滚动的大小开头(这样一来您就无法滚动),然后在按下按钮之后,可滚动的高度会增加,以便您可以滚动。我已经在iPhone Xr模型模拟器上测试了所有这些功能,并且在我尝试切换到其他iPhone模型(iPhone 7+)之前,它都运行良好。当我使用7+(高度较短)测试程序时,scrollView最初是可滚动的(本来不是应该滚动的),我想这可能是因为我已将View Controller设置为固定的自由格式尺寸(适合较高的iPhone Xr型号),因此当我尝试使用较小的iPhone型号时,它的长度仍然相同,因此最初是可滚动的。

我想让我的scrollView从iPhone屏幕的顶部移到大约一半,在我所拥有的按钮上方。我最初的经历是:

scrollView.contentSize.height = 404

我现在知道那是完全错误的,因为我已经对其进行了硬编码,但是我不知道我还能找到从iPhone屏幕顶部到按钮的高度。也许是这样的:

scrollView.contentSize.height = button.frame.origin.y - /*y position of top of iPhone screen*/

我还考虑了scrollView的高度可能只是按钮的y位置,但是,因为我的View Controller高度是固定的,所以对于较小显示屏的iPhone,scrollView会比我想要的大得多(大小,您一开始就无法滚动)。

希望这很有意义,谢谢。

Image that may help explain

1 个答案:

答案 0 :(得分:0)

如何获取屏幕尺寸:

let screenFrame = UIScreen.main.bounds   // returns a CGRect

let screenHeight = screenFrame.height    // returns a CGFloat

编辑:如果您想完全使用情节提要,请尝试从scrollViewview设置所需的约束,以将其放置在所需的位置。

然后可以将contentViewscrollView的高度设置为等于scrollView的高度,但优先级较低。

我认为这应该可行,尽管从头开始时更容易解释。让我知道怎么回事。

相关问题