首先创建项目,选择Application ,在右侧窗口中选择Singe View Application。
项目名字为UIScrollView。
如下图:
然后在UIScrollViewViewController.h中添加如下代码#import <UIKit/UIKit.h>
@interface UIScrollViewViewController : UIViewController
name="code" class="plain"><UIScrollViewDelegate,UIScrollViewAccessibilityDelegate>
@property(nonatomic,retain) IBOutlet UIScrollView *scrollView1;
@property(nonatomic,retain) IBOutlet UIScrollView *scrollView2;
-(void)layoutScrollImages;
@end
从SDK中拖中两个UIScrollView出来,一个放在上面(上面较大些),一个放在下面;
然后在上面个UIScrollView中按住鼠标右键拖到File's Owner 中,然后选择delegare;下面的一样;
然后从File's Owner按住鼠标右键拖到上面与下面的UIScrollView选择scrollView1与scrollView2。
如下图:
#import "UIScrollViewViewController.h"
@interface UIScrollViewViewController ()
@end
@implementation UIScrollViewViewController
@synthesize scorllView1;
@synthesize scorllView2;
const CGFloat kScrollObjheight = 200;
const CGFloat kScrollObjWidth = 320;
const NSUInteger kNumImages = 6;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor]; //设置背景颜色
NSUInteger i; //申明整型,当前图片序号
for (i = 1; i <= kNumImages; i++) {
NSString *imageName = [NSString stringWithFormat:@"image0%d.gif",i];
UIImage *image = [UIImage imageNamed:imageName]; //获取图片
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];//图片显示
CGRect rect = imageView.frame; //获取图片的框架,得到长、宽
rect.size.height = kScrollObjheight;//设置高度
rect.size.width = kScrollObjWidth;//设置宽度
//赋值
imageView.frame = rect;
imageView.tag = i;
//ScrollView添加子视图
[scorllView1 addSubview:imageView];
}
[self layoutScrollImages];
//设置是否裁剪,YES表示裁剪掉
scorllView2.clipsToBounds = YES;
//设置滚动条样式
scorllView2.indicatorStyle = UIScrollViewIndicatorStyleWhite;
//获取图片,选择一张比较大的
UIImageView *imageView = [[UIImageView alloc]
initWithImage:[UIImage imageNamed:@"image01.gif"]];
//添加图片进入ScrollView
[scorllView2 addSubview:imageView];
//设置ScrollView的大小,这里设置为大小,实现图片在ScrollView
[scorllView2 setContentSize:CGSizeMake
(imageView.frame.size.width, imageView.frame.size.height)];
//设置是否滚动
[scorllView2 setScrollEnabled:YES];
}
-(void)layoutScrollImages
{
//申明一个图片显示
UIImageView *view =nil;
//子视图数组
NSArray *subviews = [scorllView1 subviews];
//初始化横坐标
CGFloat curXLoc = 0;
//foreach循环
for (view in subviews) {
//判定图片是否存在以及是否在范围内
if ([view isKindOfClass:[UIImageView class]] && view.tag > 0) {
//获取框架高宽及原点
CGRect frame = view.frame;
//修改原点左边
frame.origin = CGPointMake(curXLoc, 0);
//修改后的坐标赋值
view.frame=frame;
//每次执行后,都增加一个宽度
curXLoc += (kScrollObjWidth);
}
}
//设置ScrollView的长度和宽度
[scorllView1 setContentSize:CGSizeMake((kNumImages *kScrollObjWidth), [scorllView1 bounds].size.height)];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
最终运行结果: