0

因为我有一个滚动视图,所以我将我的视图控制器设置为具有固定大小的自由形式(因为这是我学到的)。我想让我的滚动视图以相同的 contentSize 和可滚动大小开始(这样一开始你不能滚动),然后在按下按钮后,可滚动高度会增加,这样你就可以滚动了。我已经在 iPhone Xr 模型模拟器上测试了所有这些,并且一切正常,直到我尝试切换到不同的 iPhone 模型(iPhone 7+)。当我用 7+(高度较短)测试我的程序时,scrollView 最初是可滚动的(它不应该如此),我认为这可能是因为我已将 View Controller 设置为具有固定的自由格式尺寸(适合更高的 iPhone Xr 型号),所以当我尝试使用较小的 iPhone 型号时,

我想要得到的是让我的 scrollView 从 iPhone 屏幕的顶部到大约一半,x 在我拥有的按钮上方。我最初的想法是:

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 比我想要的大得多(大小这样您最初无法滚动)。

希望这是有道理的,谢谢。

可能有助于解释的图像

4

1 回答 1

0

如何获取屏幕尺寸:

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

let screenHeight = screenFrame.height    // returns a CGFloat

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

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

我认为这应该可行,尽管从头开始更容易解释。让我知道事情的后续。

于 2019-05-22T18:57:27.350 回答