【发布时间】:2026-01-03 06:00:01
【问题描述】:
我有一个具体的问题。对大多数人来说这可能无关紧要,但我不得不处理它,我必须解决下面描述的问题。我尝试使用 Google 和 Apple SDK 文档查找有关它的一些信息,但没有成功。
我正在设计一个屏幕,其中有许多水平滚动的图像。三个三个相同的卷轴。每个卷轴都有标题。我已经实现了从UIView 派生的自定义类,并将UIScrollView 放置在用于滚动和UILabel 用于标题文本:
@interface MyView : UIView {
UIScrollView *iScrollView;
UIView *iTitleView;
}
然后我把这个类的对象放在UIViewController的视图上:
@implementation MyViewController
- (void) viewDidLoad {
[super viewDidLoad];
...
iScrollViewTop = [[MyView alloc] init];
[self.view addSubview:iScrollViewTop];
...
}
@end
当我用图像填充内部滚动视图并运行我的应用程序时,它看起来还不错。但是有一些奇怪的行为。首先,滚动没有像我设置的那样反弹
iScrollView.bounces = NO;
第二,当我滑动滚动时,滚动停止后,滚动条并没有在一秒钟内消失。这对我来说很奇怪,因为当我通常创建一个 UIScrollView 并将其添加到UIViewController 的视图中时,它会反弹并且滚动条在停止时会立即消失。我尝试更改UIScrollView的属性,例如directionalLockEnabled、pagingEnabled、canCancelContentTouches、delaysContentTouches、decelerationRate等。事实上,我已经尝试更改 UIScrollView 的几乎所有属性,但我无法让滚动条立即消失。
如果我尝试将 UIScrollView 而不是 MyView 添加到 UIViewController.view,它会弹跳并且滚动条在停止后立即消失。如果我从UIScrollView 继承MyView,我也会得到正确的行为,但在这种情况下,我无法管理标题标签,因为它与其他内容一起滚动。
所以这是我的问题:
- 你知道我为什么会看到这种行为吗?
- 如何获得
UIView封装的滚动“通常”行为?
【问题讨论】:
-
这个运气好吗?我从 UIScrollView 派生类中得到了相同的行为,但仅在 iOS 5 中。它在 4.x 中工作正常
标签: ios uiview uiscrollview