gpt4 book ai didi

objective-c - 如何始终使 UIScrollView 可滚动?

转载 作者:IT王子 更新时间:2023-10-29 07:51:01 24 4
gpt4 key购买 nike

我有一个 UIScrollViewscrollview.contentSize 设置为 UIScrollView 中所有 subview 的高度。当 contentSize 的高度大于 UIScrollView 的高度时,拖动 View 时完美滚动。当 contentSize 的高度小于 UIScrollView 的高度时,拖动 View 时没有任何反应。

我认为这是标准行为,因为真的没有什么可以滚动的。但我希望 UIScrollView 无论如何都会移动一点。

一个可能的解决方案是确保 contentSize 的高度永远不会小于 frame.height 加上一个小边距(即 5px):

CGSize scrollSize = self.frame.size;
int defaultHeight = self.frame.size.height + 5;
int contentHeight = self.webView.frame.origin.y + self.webView.frame.size.height;
scrollSize.height = MAX(defaultHeight, contentHeight);
[self.scrollView setContentSize:scrollSize];

有没有更简单的方法来做到这一点?

最佳答案

UIScrollView 上有两个属性听起来像您想要的:

@property(nonatomic) BOOL alwaysBounceVertical; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically
@property(nonatomic) BOOL alwaysBounceHorizontal; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally

只需将它们中的一个或两个设置为YES,您将获得弹跳效果。

这也可以在 IB 中通过选中“水平弹跳”和/或“垂直弹跳”框来设置:

enter image description here

关于objective-c - 如何始终使 UIScrollView 可滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com