如何在iPhone中使用Slider而不是Scrollviewer Vertical Bar?

问题描述

| 我使用的是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);
}