@interfaceViewController ()<UIScrollViewDelegate>@end@implementationViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.self.view.backgroundColor = [UIColor whiteColor];
[self setupScrollView];
}
-(void)setupScrollView{
//初始化UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
//设置背景色
scrollView.backgroundColor = [UIColor redColor];
//设置可滑动的大小
scrollView.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height*2);
//设置分页属性,default NO. if YES, stop on multiples of view bounds
scrollView.pagingEnabled = YES;
//设置滑动弹性default YES. if YES, bounces past edge of content and back again
scrollView.bounces = YES;
//设置竖向拉动条
scrollView.showsVerticalScrollIndicator = YES;
//设置横向拉动条
scrollView.showsHorizontalScrollIndicator = YES;
//设置代理
scrollView.delegate = self;
//添加scrollView
[self.view addSubview:scrollView];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
// any offset changes//ScrollView滚动状态时调用
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2){
// any zoom scale changes//ScrollView放大缩小时调用
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
// called on start of dragging (may require some time and or distance to move)//开始拖拽时调用
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0){
// called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest//滑动结束时调用
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
// called on finger up if the user dragged. decelerate is true if it will continue moving afterwards//结束拖拽时调用
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
// called on finger up as we are moving//开始减速时调用
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
// called when scroll view grinds to a halt//结束减速时调用
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
// called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating
}
- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
// return a view that will be scaled. if delegate returns nil, nothing happensreturnnil;
}
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view NS_AVAILABLE_IOS(3_2){
// called before the scroll view begins zooming its content
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{
// scale between minimum and maximum. called after any 'bounce' animations//缩放完成之后恢复原大小
}
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
// return a yes if you want to scroll to the top. if not defined, assumes YESreturnYES;
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
// called when scrolling animation finished. may be called immediately if already at top
}
- (void)scrollViewDidChangeAdjustedContentInset:(UIScrollView *)scrollView API_AVAILABLE(ios(11.0), tvos(11.0)){
//Also see -[UIScrollView adjustedContentInsetDidChange]
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Swift代码
import UIKit
class ViewController: UIViewController,UIScrollViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Doany additional setup after loading the view, typically from a nib.
self.setupScrollView()
}
func setupScrollView() {
//初始化
let scrollView = UIScrollView.init(frame: self.view.frame)
//设置背景色
scrollView.backgroundColor = UIColor.red
//设置可滑动的大小
scrollView.contentSize = CGSize.init(width: self.view.frame.size.width, height: self.view.frame.size.height*2)
//设置分页属性,defaultNO. if YES, stop on multiples ofview bounds
scrollView.isPagingEnabled = true
//设置滑动弹性default YES. if YES, bounces past edge of content and back again
scrollView.bounces = true
//设置竖向拉动条
scrollView.showsHorizontalScrollIndicator = true
//设置横向拉动条
scrollView.showsVerticalScrollIndicator = true
//设置代理
scrollView.delegate = self
//添加scrollView
self.view.addSubview(scrollView)
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// any offset changes
//ScrollView滚动状态时调用
}
func scrollViewDidZoom(_ scrollView: UIScrollView) {
// any zoom scale changes
//ScrollView放大缩小时调用
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
// called onstartof dragging (may require sometimeandor distance to move)
//开始拖拽时调用
}
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
// called on finger up if the user dragged. velocity isin points/millisecond. targetContentOffset may be changed to adjust where the scrollview comes to rest
//滑动结束时调用
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// called on finger up if the user dragged. decelerate istrueif it will continue moving afterwards
//结束拖拽时调用
}
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
// called on finger up as we are moving
//开始减速时调用
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
// called whenscrollview grinds to a halt
//结束减速时调用
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose ofany resources that can be recreated.
}
}
Objective-C代码:@interface ViewController ()&lt;UIScrollViewDelegate&gt;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after lo...