通过UIKit坐标系来全面掌握iOS中的UIScrollView组件

2020-01-15 14:47:20丽君

    bounds.origin.x = fmax(minBoundsOriginX, fmin(newBoundsOriginX, maxBoundsOriginX)); 
  
    CGFloat newBoundsOriginY = bounds.origin.y - translation.y; 
    CGFloat minBoundsOriginY = 0.0; 
    CGFloat maxBoundsOriginY = self.contentSize.height - bounds.size.height; 
    bounds.origin.y = fmax(minBoundsOriginY, fmin(newBoundsOriginY, maxBoundsOriginY)); 
  
    self.bounds = bounds; 
    [gestureRecognizer setTranslation:CGPointZero inView:self]; 

  
@end 
和真正的UIScrollView一样,我们的类也有一个contentSize属性,你必须从外部来设置这个值来指定可以滚动的区域,当我们改变bounds的大小时我们要确保设置的值是有效的。

 

结果:

UIKit,iOS,UIScrollView

 

UIScrollView常用操作方法整理

UIKit,iOS,UIScrollView

 

复制代码
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

 

    //  创建一个滚动视图
    self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 64, 320, 568-64)];
    //  设置代理
    self.scrollView.delegate = self;
    self.scrollView.backgroundColor = [UIColor redColor];
    [self.view addSubview:_scrollView];
    /**
     *  CGPoint contentOffSet                       监控目前滚动的位置
     *  CGSize contentSize                          滚动范围大小(主属性)