H文件
View Code
#import
<UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface Day14ViewController
:
UIViewController
@property (nonatomic,
retain)
IBOutlet
UIScrollView
*scrollView1;
@property (nonatomic,
retain)
IBOutlet
UIScrollView
*scrollView2;
- (
void)layoutScrollImages;
@end
#import
@interface
@property
@property
-
@end
M文件
View Code
#import
"
Day14ViewController.h
"
@implementation Day14ViewController
@synthesize scrollView1,
scrollView2;
// 设置图片高度、宽度以及数量
const CGFloat
kScrollObjHeight
=
175.0;
const CGFloat
kScrollObjWidth
=
280.0;
const NSUInteger
kNumImages
=
5;
- (
void)viewDidLoad
{
[super
viewDidLoad];
//
设置背景颜色,UIColor颜色类
self.view.backgroundColor
=
[UIColor
viewFlipsideBackgroundCo
lor];
//
申明整型,当前图片序号
NSUInteger
i;
//
循环执行,有多少张图片,执行几次
for
(i
=
1;
i
<=
kNumImages;
i++){
//
图片名称,循环,得到图片名
NSString
*imageName
=
[NSString
stringWithFormat:
@"
image0%d.jpg
",
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添加子视图
[scrollView1
addSubview:imageView];
//
释放
[imageView
release];
}
//
使用自定义方法(在下面)
[self
layoutScrollImages];
//
--------------第二种方式------------------
//
设置是否裁剪,YES表示裁剪掉,不会在Scroll外显示(只能在内部、重叠那种效果)
scrollView2.clipsToBounds
=
YES;
//
设置滚动条样式
scrollView2.indicatorStyle
=
UIScrollViewIndicatorSty
leWhite;
//
获取图片,选择一张比较大的
UIImageView
*imageView
=
[[UIImageView
alloc]
initWithImage:
[UIImage
imageNamed:
@"
image00.jpg
"]];
//
添加图片进入ScrollView
[scrollView2
addSubview:imageView];
//
设置ScrollView的大小,这里设置为图片大小(图片比较大),实现图片在ScrollView里
[scrollView2
setContentSize:
CGSizeMake(imageView.frame.size.width,
imageView.frame.size.height)];
//
设置是否滚动
[scrollView2
setScrollEnabled:YES];
//
释放
[imageView
release];
}
// 此方法作用就是改变ScrollView的图片显示
- (
void)layoutScrollImages
{
//
申明一个图片显示
UIImageView
*view
=
nil;
//
子视图数组
NSArray
*subviews
=
[scrollView1
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的长度和宽度:宽为所有图片的总长度,高为图片高度
[scrollView1
setContentSize:CGSizeMake((kNumImages
*
kScrollObjWidth),
[scrollView1
bounds].size.height)];
}
- (
void)dealloc
{
//
释放
[scrollView1
release];
[scrollView2
release];
[super
dealloc];
}
@end
@implementation
@synthesize
// 设置图片高度、宽度以及数量
const
const
const
-
}
// 此方法作用就是改变ScrollView的图片显示
-
{
}
-
}
@end