iOS_3_圖片瀏覽
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