首页 > 代码库 > 开发进阶06_viewDidLoad_UISlider_Plist_NSBundle

开发进阶06_viewDidLoad_UISlider_Plist_NSBundle

iphone屏幕尺寸:
    iphone4/4s      320  480
    iphone5/5s      320  568
    iphone6           375  667
    iphone6 plus   414  736
 
@interface ViewController ()
{
    NSArray *_allDescs;
}
@end
 
@implementation ViewController
 
#pragma mark 控制器的view加载完毕后会调用一次
- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //1.设置描述
    //获得所有的描述(通过解析plist文件来创建数组对象,比如传入文件的全路径)
   
    //如果要访问项目中资源包中的所有资源。应该用mainBundle
    NSBundle *bundle = [NSBundle mainBundle];
   
    //获得文件的全路径
    NSString *path = [bundle pathForResource:@"descs" ofType:@"plist"];
   
    //加载path对应的文件来创建数组
    _allDescs = [NSArray arrayWithContentsOfFile:path];
   
    //2.设置默认描述
    _imageDesc.text = _allDescs[0];
 
}
#pragma mark 设置工具栏
- (IBAction)setToos {
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
   
    CGPoint tempCenter = _settingView.center;
    if(_settingView.frame.origin.y == self.view.frame.size.height){
        tempCenter.y -= _settingView.frame.size.height;
    }else{
        tempCenter.y += _settingView.frame.size.height;
    }
   
    _settingView.center = tempCenter;
   
    [UIView commitAnimations];
   
}
 
#pragma mark 设置图片-序号-描述
- (IBAction)sliderValueChange:(UISlider *)sender {
    //1.设置中间的图片
    //获得图片名称 %.f不保留任何小数
    NSString *imageName = [NSString stringWithFormat:@"%.f.png",sender.value];
    _imageView.image = [UIImage imageNamed:imageName];
   
    //2.设置序号(第几张)
    _imageNo.text = [NSString stringWithFormat:@"%.f/16",sender.value + 1];
   
    _imageDesc.text = _allDescs[(int)(sender.value + 0.5)];
   
    使用% . f占位符不保留任何小数,四舍五入
    使用(int)10.9  结果是:10   取整
   
}
 
#pragma mark 图片尺寸改变
- (IBAction)imageSizeChange:(UISlider *)sender {
   
    _imageView.transform = CGAffineTransformMakeScale(sender.value, sender.value);
}
 
#pragma mark 夜间模式
- (IBAction)nightModel:(UISwitch *)sender {
    if(sender.on){
        self.view.backgroundColor = [UIColor darkGrayColor];
    }else{
        self.view.backgroundColor = [UIColor whiteColor];
    }
}
 
1、viewDidLoad
    -》这是控制器的一个方法
    -》当控制器的view创建完毕的时候会调用一次
 
2、UISlider
    -》value属性可以获得当前的进度值
    -》按钮的value发生改变,会出发UIControlEventValueChanged事件
 
3、Plist文件的使用
    -》加载一个plist文件的时候,会返回一个plist的根节点对象(Root)
 
4、NSBundle的使用
    -》利用NSBundle可以访问某个资源包的内容
    -》如果访问软件中最主要资源包的内容,应该用mainBundle
    NSBundle  *bundle = [NSBundle mainBundle];
 
    -》利用NSBundle获得文件的全路径
    NSString  *path = [bundle pathForResource : @"descs"  ofType : @"plist"];

开发进阶06_viewDidLoad_UISlider_Plist_NSBundle