我花了几天时间试图在iOS7(在iPad上)上看到工作的UIScrollView水平滚动指示器(没有AutoLayout)。但没有成功。
有没人修过这样的错误?
我的项目很简单,运行iOS5和iOS6没有麻烦。
我发现,滚动指示器图像的iOS7高度始终为零:
UIImageView * scrollBar = [[scrollView subviews] lastObject];
if (scrollBar != nil)
{
PrintRect(@"FRAME", scrollBar.frame);
PrintRect(@"BOUNDS", scrollBar.bounds);
}
iOS7的结果:
FRAME x:0.000000 y:54.000000 w:338.000000 h:0.000000
BOUNDS x:0.000000 y:0.000000 w:338.000000 h:0.000000
但对于iOS6:
FRAME x:0.000000 y:47.000000 w:338.000000 h:7.000000
BOUNDS x:0.000000 y:0.000000 w:338.000000 h:7.000000
因此iOS7上的高度滚动条图像等于零。 可以改变高度,但只能快速进行,因为在吸毒期间,身高再次变为零。
答案 0 :(得分:1)
我被困在类似的东西上。我正在iTunes上做CS193P课程,并进行了scrollView
练习 - Imaginarium。基本上它只是嵌入UIImageView
的{{1}}。我遇到的问题是滚动指示器没有显示(UIScrollView
关闭)
我在文档中查找了UIScrollView的头文件,Autolayout
中有一个名为scrollView
的属性:
滚动指示符与滚动视图边缘的距离。
scrollIndicatorInsets
接着说默认值为@property(nonatomic) UIEdgeInsets scrollIndicatorInsets
!!所以我使用UIEdgeInsetsZero
创建了UIEdgeInset
(请参阅文档)。然后在UIEdgeInsetsMake
中我将此viewDidLoad
设置为我的scrollView的scrollIndicatorInsets,之后我滚动时出现了指示符。
希望这也适合你。