终于效果图:

BeyondViewController.h

//
// BeyondViewController.h
// 03_图片浏览
//
// Created by beyond on 14-7-22.
// Copyright (c) 2014年 com.beyond. All rights reserved.
// #import <UIKit/UIKit.h> @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

效果图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

最新文章

  1. 从爬取湖北某高校hub教务系统课表浅谈Java信息抓取的实现 —— import java.*;
  2. 请求网络get
  3. 【linux】学习2
  4. 超文本引用href的几种用法
  5. web语义化与h5新增标签
  6. Vertica笔记
  7. C#:将子Form加入父Form中
  8. linq数据使用
  9. Oracle闪回操作
  10. Spring Boot学习总结一
  11. static_assert与assert
  12. Mybatis pageHelper.startPage(...)是物理分页
  13. qt布局管理-缩放、多窗口切换
  14. commons-lang3工具类学习(二)
  15. spring启动后立即执行方法
  16. AI 高等数学、概率论基础
  17. Linux经常使用命令(六) - mv
  18. signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
  19. nyoj A+B Problem IV
  20. mac 装5.6版本mysql 设置密码

热门文章

  1. 细说JavaScript对象(2):原型对象
  2. MySQL索引,如何正确创建MySQL索引?
  3. Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]
  4. linux命令行翻页
  5. GoodSync
  6. Xamarin.Forms 调用腾讯地图
  7. KodExplorer介绍
  8. php合并两个二维数组
  9. 2017.7.14 使用case when和group by将多条数据合并成一行,并且根据某些列的合并值做条件判断来生成最终值
  10. 关于Docker&amp;kubernetes的一些问题