// // ViewController.h // 图片浏览器 // // Created by on 15/4/14. // Copyright (c) 2015年 apple. All rights reserved. // #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (weak, nonatomic) IBOutlet UILabel *imageValue; @property (weak, nonatomic) IBOutlet UILabel *imageDesc; @property (weak, nonatomic) IBOutlet UIView *settingView; - (IBAction)valueChange:(UISlider *)sender; - (IBAction)settingButton; - (IBAction)darkModel:(UISwitch *)sender; - (IBAction)imageSize:(UISlider *)sender; @end
// // ViewController.m // 图片浏览器 // // Created by on 15/4/14. // Copyright (c) 2015年 apple. All rights reserved. // #import "ViewController.h" @interface ViewController () { NSArray *_imageMess; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 要访问项目中的所有资源用mainBundle NSBundle *bundle = [NSBundle mainBundle]; NSString *filePath = [bundle pathForResource:@"imageMessages" ofType:@"plist"]; // 读取文件要传入绝对路径 _imageMess = [NSArray arrayWithContentsOfFile:filePath]; NSDictionary *dic = _imageMess[0]; NSString *imageName = [dic objectForKey:@"icon"]; _imageView.image = [UIImage imageNamed:imageName]; NSString *imageMessage = [dic objectForKey:@"title"]; _imageDesc.text = imageMessage; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)valueChange:(UISlider *)sender { // 这里的%.f即为不保留小数位,四舍五入 // NSString *imageName = [NSString stringWithFormat:@"%.f", sender.value]; NSDictionary *dic = _imageMess[(int)sender.value - 1]; NSString *imageName = [dic objectForKey:@"icon"]; _imageView.image = [UIImage imageNamed:imageName]; NSString *imageValue = [NSString stringWithFormat:@"%.f/%.f", sender.value, sender.maximumValue]; _imageValue.text = imageValue; NSString *imageMessage = [dic objectForKey:@"title"]; _imageDesc.text = imageMessage; } #pragma mark 注意这里的写法,如果信息处理不同的话,多用这种方式重构代码 -(void)animationCustom:(void (^)())block { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.35]; block(); [UIView commitAnimations]; } - (IBAction)settingButton { CGFloat viewHeight = _settingView.frame.size.height; [self animationCustom:^{ if (_settingView.frame.origin.y == self.view.frame.size.height) { CGRect frame = _settingView.frame; frame.origin.y -= viewHeight; _settingView.frame = frame; } else { CGRect frame = _settingView.frame; frame.origin.y += viewHeight; _settingView.frame = frame; } }]; } - (IBAction)darkModel:(UISwitch *)sender { if (sender.on) { self.view.backgroundColor = [UIColor darkGrayColor]; } else { self.view.backgroundColor = [UIColor whiteColor]; } } - (IBAction)imageSize:(UISlider *)sender { _imageView.transform = CGAffineTransformMakeScale(sender.value, sender.value); } @end
时间: 2024-10-09 22:30:59