这一章的demo主要涉及到常量定义const,处理命令const可以取代宏定义#define的作用,在程序中限定声明的常量只能被读取,使用const定义常量时,必须确定常量对象初始化数据:const int a=3;在外部链接文件中,引用const常量时,加上extern后a成为了具有外部链接的对象,其地址具备外部链接特性:extern const int a;使用const比#define更节省内存空间,在程序中const只能做一份数据复制,而#define则定义多少个对象,将做多少次数据复制。
CGRect结构在屏幕上定义了一个矩形。它包含原点(rect.origin)和大小(rect.size)
CGRectMake(origin.x,origin.y,size.width. Size.height)在代码中定义矩形。
//定义滚动视图在视图中显示的高度
const CGFloat kScrollObjHeight = 175.0;
//定义滚动视图在视图中显示的宽度
const CGFloat kScrollObjWidth = 280.0;
//定义滚动视图在视图中显示的图像数量
const NSUInteger kNumImages = 5;
//建立滚动视图的布局方法
- (void)layoutScrollImages
{
//建立图像视图控件对象
UIImageView *view = nil;
//定义滚动视图的子视图
NSArray *subviews = [scrollView1 subviews];
//定义在水平位置排列的形式,重新分配所有视图的子视图,创建图像的坐标,定义位置为0
CGFloat curXLoc = 0;
//当视图中存在子视图时
for (view in subviews)
{
//当视图中存在图像视图类型,并且视图的标记属性值大于0
if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
{
//创建图像边框,定义边框界限为视图中的边框界线
CGRect frame = view.frame;
//把边框的起源属性值,定义图像原点(x和y)分别为(curXLoc的值和0)
frame.origin = CGPointMake(curXLoc, 0);
//定义视图中的边框属性为frame的值
view.frame = frame;
//定义图像的坐标值为所滚动图像的宽度
curXLoc += (kScrollObjWidth);
}
}
//设定滚动的尺寸,提供用户可以滚动的长度
[scrollView1 setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), [scrollView1 bounds].size.height)];
}
- (void)viewDidLoad {
[super viewDidLoad];
//定义视图的背景颜色为副页的背景色
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
//设置5个图像滚动的浏览,读取所有的图像,并把图像加入到滚动视图中
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];
//创建图像边框,定义边框界线为imageView图像视图控件的边框属性
CGRect rect = imageView.frame;
//定义图像边框尺寸属性的高度
rect.size.height = kScrollObjHeight;
//定义图像边框尺寸属性的宽度
rect.size.width = kScrollObjWidth;
//定义图像视图的边框值为rect
imageView.frame = rect;
imageView.tag = i;
[scrollView1 addSubview:imageView];
[imageView release];
}
//显示滚动式图布局
[self layoutScrollImages];
//定义滚动视图的剪辑范围属性值为YES,启动剪辑固定图像的范围
scrollView2.clipsToBounds = YES;
//定义滚动视图的显示各式属性值为白色
scrollView2.indicatorStyle = UIScrollViewIndicatorStyleWhite;
UIImageView *imageView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"image00.jpg"]];
[scrollView2 addSubview:imageView];
//设定拖动图像的尺寸,提供用户可以拖动的范围
[scrollView2 setContentSize:
CGSizeMake(imageView.frame.size.width, imageView.frame.size.height)];
//启动图像拖动属性
[scrollView2 setScrollEnabled:YES];
[imageView release];
}