iPhone开发之UIScrollView滚动组件的使用(四) 拖线实现 喜马拉雅案例

1、当不希望把屏幕上的一些内容跟着滚动,就不要把这些内容放到滚动组件内。

2、实现步骤

(1)拖拽一个UIScrollView到控制器view,设置该UIScrollView大小与控制器view一致。

(2)设置UIScrollView的背景颜色为RGB:212,212,212

(3)向UIScrollView中增加内容

(4)设置UIScrollView的contentSIze的height为最下面图片的最大的Y值,width=UIScrollView对象frame的width(因为横向不滚动)或直接设置contentSize的width为0.(因为0必然小于UIScrollView大小frame的width,等于告诉UIScrollView对象,里面内容的宽度小于滚动组件的宽度,不需要再横向滚动)

提示:某个方向上不希望滚动,则把该方向上的contentSize的值设置为0;

注意:控件的x、y坐标值是指控件左上角的坐标值,控件最大的x值是指控件的x值加上控件的宽度width的和,控件最大的y值是指控件的y坐标值加上控件高度height之和。可以直接调用CGRectGetMaxY(控件的frame) 与CGRectGetMaxX(frame)来进行获取控件的最大Y值与最大X值。返回double类型数据。

(5)通过contentOffset偏移属性来进行设置内容的默认滚动位置

通过contentInsets来设置内容的内边距。

具体过程如下所示;

1


2


3


4


6


7


8


9


10


11


12


13


14


15


16


17


18


19 发现运行结果下面总弹回去


20在viewDidLoad方法中为UIScrollView的内容设置下方内边距即可


编辑控制器的.m文件,代码如下:

//
//  ViewController.m
//  喜马拉雅案例
//
//  Created by apple on 15/8/28.
//  Copyright (c) 2015年 LiuXun. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

@property (weak, nonatomic) IBOutlet UIImageView *lastImageView;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //   获取最后一个UIImageView组件的最大Y值
	double LastImageMaxY   =   CGRectGetMaxY(self.lastImageView.frame);
    //  将内容的大小告知UIScrollView组件
    self.scrollView.contentSize=CGSizeMake(0, LastImageMaxY);
    
    //   为滚动组件中内容的下方设置内边距
    self.scrollView.contentInset=UIEdgeInsetsMake(0, 0, 100, 0);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

运行结果如下所示:


你可能感兴趣的:(iPhone开发之UIScrollView滚动组件的使用(四) 拖线实现 喜马拉雅案例)