BeyondViewController.h
// // BeyondViewController.h // 03_圖片浏覽 // // Created by beyond on 14-7-22. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import@interface BeyondViewController : UIViewController @property (weak, nonatomic) IBOutlet UILabel *pageNoLabel; @property (weak, nonatomic) IBOutlet UIImageView *pictureView; @property (weak, nonatomic) IBOutlet UILabel *descriptionLabel; @property (weak, nonatomic) IBOutlet UIView *viewSetting; - (IBAction)slideValueChanged:(UISlider *)sender; - (IBAction)setting:(UIButton *)sender; // switch 開關 - (IBAction)switchClick:(UISwitch *)sender; // 圖片大小 縮放 - (IBAction)sliderScaleValueChanged:(UISlider *)sender; @end
BeyondViewController.m
// // BeyondViewController.m // 03_圖片浏覽 // // Created by beyond on 14-7-22. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import "BeyondViewController.h" @interface BeyondViewController () { // 從mainBundle中加載plist,返回數組 NSArray *_descArray; } @end @implementation BeyondViewController - (void)viewDidLoad { [super viewDidLoad]; // 從mainBundle中加載plist,返回數組,僅加載一次即可 // sg_bundle模板代碼,1,獲得.app主要的包;2,返回主要的包中某個文件的fullPath全路徑 NSBundle *mainBundle = [NSBundle mainBundle]; NSString *fullPath = [mainBundle pathForResource:@"descs.plist" ofType:nil]; // 成員變量記住,因為其他方法slideValueChanged中要用到 _descArray = [NSArray arrayWithContentsOfFile:fullPath]; // _descriptionLabel.text = _descArray[0]; } - (IBAction)slideValueChanged:(UISlider *)sender { NSLog(@"%d",(int)sender.value); // 圖片名 從0 ~ 15,對應的slide最小值0 最大值15 int pageNo = (int)sender.value; // 1,控制圖片顯示 NSString *imageName = [NSString stringWithFormat:@"%d.png",pageNo]; _pictureView.image = [UIImage imageNamed:imageName]; // 2,控制標題顯示 _pageNoLabel.text = [NSString stringWithFormat:@"%d/16",(pageNo+1)]; // 3,控制描述顯示 plist在模擬器中的全path // /Users/beyond/Library/Developer/Xcode/DerivedData/03_圖片浏覽-cwowmkgqqqqmfcfxckpaqtzykyus/Build/Products/Debug-iphonesimulator/03_圖片浏覽.app/descs.plist // /Users/beyond/Library/Application Support/iPhone Simulator/7.1/Applications/02291F09-5446-40E2-82AE-18B6D039D88A/03_圖片浏覽.app/descs.plist // NSString *descPlistFullPath = [[NSBundle mainBundle] pathForResource:@"descs.plist" ofType:nil]; // _descriptionLabel.text = [_descArray objectAtIndex:pageNo]; _descriptionLabel.text = _descArray[pageNo]; } #pragma mark - 設置:1,夜間模式; 2,圖片縮放 - (IBAction)setting:(UIButton *)sender { // UIView的類方法 實現動畫效果(開始動畫) [UIView beginAnimations:nil context:nil]; // 默認動畫持續時間是 0.2 [UIView setAnimationDuration:1]; int winHeight = self.view.bounds.size.height; CGFloat targetY = _viewSetting.frame.origin.y==winHeight?(winHeight-self.viewSetting.frame.size.height):winHeight; // 以下三步為OC標准代碼,因為OC中不允許直接修該對象中結構體屬性的成員的值,要通過中間的臨時結構體變量 CGRect frame = self.viewSetting.frame; frame.origin.y = targetY; self.viewSetting.frame=frame; // UIView的類方法 實現動畫效果(結束動畫) [UIView commitAnimations]; } - (IBAction)switchClick:(UISwitch *)sender { if (sender.isOn) { self.view.backgroundColor = [UIColor darkGrayColor]; } else { self.view.backgroundColor = [UIColor whiteColor]; } } - (IBAction)sliderScaleValueChanged:(UISlider *)sender { // UIView的類方法 實現動畫效果(開始動畫) [UIView beginAnimations:nil context:nil]; // 默認動畫持續時間是 0.2 [UIView setAnimationDuration:1]; self.pictureView.transform = CGAffineTransformMakeScale(sender.value, sender.value); // UIView的類方法 實現動畫效果(結束動畫) [UIView commitAnimations]; } @end