问题描述
|
我使用的是Slider控件,而不是使用Scrollviewer垂直栏。
但是它不能正常工作。
scrollViewer.contentSize = CGSizeMake(320,(ThumbnailSizeHeight + PADDING) * [list count]);
slider.maximumValue = (ThumbnailSizeHeight + PADDING) * [list count];
请纠正我。
解决方法
在
contentSize
大于滚动查看器的帧大小之前,不需要滚动。所以,
CGFloat scrollableHeight = (ThumbnailSizeHeight + PADDING) * [list count] - scrollViewer.frame.size.height;
if ( scrollableHeight <= 0 ) {
slider.enabled = NO; // or use the `hidden` property
} else {
slider.enabled = YES; // or .hidden based on what you do in `if`
slider.maximumValue = scrollableHeight;
}
稍后在UIControlEventValueChanged
上的滑块的界面动作上,
- (IBAction)sliderValueChanged:(UISlider *)slider {
scrollViewer.contentOffset = CGPointMake(0,slider.value);
}