我正在尝试在带有 UIScrollView 类的窗口中生成一个滚动 Controller ,该类将包含许多垂直放置的 UIButton。我将 ScrollView 的大小设置为等于当前 View Controller 的 Root View ,以便 ScrollView 覆盖整个可见窗口。然后我生成要添加到 ScrollView 的 UIButton:我将每个 UIButton 添加到前一个 UIButton 的下方,并将当前 UIButton 的高度添加到名为“totalContentHeight”的变量中。最后,我将 ScrollView 的 contentSize 的高度设置为这个值,在下面的代码行中:
self.scrollViewForNewsButtons.contentSize = CGSizeMake(self.view.frame.size.width, totalContentHeight);
将所有按钮添加到 ScrollView 后,totalContentHeight 等于 numOfButtons*eachButtonsHeight。
问题是,在模拟器中,当我运行应用程序并滚动到最后一个按钮的末尾并释放鼠标时,最后两个按钮会弹回,使它们位于可见窗口之外。用文字表达有些困难,所以这里是图片:
1)这是我滚动到内容末尾并将内容保持在可以推送的最后可能位置时得到的结果:
2)这是我释放鼠标并且 ScrollView 弹回其最终位置后得到的结果:
如您所见,最后两个按钮绘制在可见区域之外。这就像 ScrollView 的区域覆盖了整个窗口加上 iPhone 的按钮区域。我找不到对此的合理解释。是我设置的区域大小错误还是我遗漏了什么?
Best Answer-推荐答案 strong>
只需使用您的总按钮及其高度计算来设置内容大小......例如......
float yheight = totalButton * yourButtonHeight;
[yourScrollView setContentSize:CGSizeMake(320, yheight + 44)];
试试这个代码...
关于iphone - IOS UIScrollView : Cannot scroll until the end of the content,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/13987987/
|