照片查看器案例

     照片浏览器是我在IOS第一次完成的小项目,一个非常简单的程序,但是对于0基础的我来说,还是显得有些不足,这是因为对于各种控件的不了解,各种属性的不了解,致使我理解有些难度,但是我还是完成了。

     这是一个完全手写的代码,不使用拖拽控件。
     在这里我只是说一下我自己理解的难点,重点。
     其实,控件啊,属性啊,这些都不是最重要的,在日后的生活中,我们慢慢就会了解,最重要的还是思想。
     手写控件的思想,包含他的流程与优化。
     比如这个照片浏览器
(图片格式不对,改天换一个)
     我们首先要做的就是分析界面:
     1.需要读写和修改的控件要设置属性
     2.需要监听响应时间的对象,需要添加监听方法
     
     之后就是手码懒加载来创建控件,这里使用懒加载,是非常符合面向对象思想的。
 
     定义控件属性,属性必须是strong的(现在不知道为什么,老师说以后会讲),就像这样
@property (nonatomicstrongUILabel *pagesLabel;
@property (nonatomicstrongUIImageView *imageView;
@property (nonatomicstrongUILabel *imageDescribeView;
@property (nonatomicstrongUIButton *leftButton;
@property (nonatomicstrongUIButton *rightButton;
 
     在属性的getter方法中实现懒加载,实例如下:
/** 使用懒加载建立imageView */
- (
UIImageView *)imageView
{
    
if (_imageView == nil) {
        
CGFloat imageW = 200;
        
CGFloat imageH = 200;
        
CGFloat imageY = 80;
        
CGFloat imageX = (320-imageW)/2;
        
// 实例化一个图片视图
        
UIImageView *imageView = [[UIImageView allocinitWithFrame:CGRectMake(imageX, imageY, imageW, imageH)];
        
_imageView = imageView;
        [
self.view addSubview:imageView];
    }
    
return _imageView;
}
     这里使用懒加载的好处:
     1.不必将创建对象的代码去不都写在viewDidLoad里面,代码的可读性更强 
     2.每个控件的getter方法中跟别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 
 
     使用Plist文件:目的在于,将数据与代码分离 
     加载方法:
NSString *path = [[NSBound mainBound] pathForResource:@“Images” ofType:@“plist”]; 
_imagesList = [NSArray arrayWithContentsOfFile:path]; 
     这样就可以在名字叫Images.plist的Plist里读取出我们之前存进去的数据,做到了数据与代码的分离。
 
 
 
 
 
posted on 2014-05-22 00:21  大李烨  阅读(149)  评论(0编辑  收藏  举报