iOS_3_图片浏览
终于效果图:
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="">
iOS_3_图片浏览的更多相关文章
- 图片浏览(CATransition)转场动画
Main.storyboard ViewController.m // // ViewController.m // 8A04.图片浏览(转场动画) // // Created by huan ...
- Android 高级UI设计笔记14:Gallery(画廊控件)之 3D图片浏览
1. 利用Gallery组件实现 3D图片浏览器的功能,如下: 2. 下面是详细的实现过程如下: (1)这里我是测试性代码,我的图片是自己添加到res/drawable/目录下的,如下: 但是开发中不 ...
- 用CSS和第三方库来提升图片浏览体验
你是否关注过浏览.点击图片这个微妙的过程,不同的图片展现.交互方式各带来什么样的观感?本文聚焦于图片浏览这个过程以及如何使用CSS3和第三方库来提升体验. 先看下Pinterest.Flickr等时下 ...
- 第17讲- UI常用组件之ImageView图片浏览
第17讲 UI常用组件之ImageView图片浏览 二.图片浏览ImageView ImageView就是一个用来显示图片的视图: ImageView常见属性 常见属性 对应方法 说明 android ...
- [置顶] ios 一个不错的图片浏览分享框架demo
demo功能:一个不错的图片浏览分享框架demo.iphone6.1 测试通过.可以浏览图片,保存,微博分享到新浪,腾讯,网易,人人等. 注:(由于各个微博的接口有时候会有调整,不一定能分享成功.只看 ...
- WPF 图片浏览 伪3D效果
原文:WPF 图片浏览 伪3D效果 首先上效果图: 因项目要求,需要把图片以"好看"."炫"的效果展示出来,特地研究了一下WPF关于3D方面的制作,奈何最终成果 ...
- Ubuntu下几个命令行方式使用的图片浏览工具
想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...
- 【MVC】快速构建一个图片浏览网站
当抄完MusicStore时,你应该对MVC有一个比较清晰的认识了.接下来就需要做个网站来继续增加自己的知识了.那么,该做个什么网站呢.做个图片浏览网站吧,简单而实用. 简单设计 1.首先,页面中间是 ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
随机推荐
- MyBatis参数为Integer型并赋值为0时判断失误的问题解决
mybatis.xml中有if判断条件判断参数不为空时,赋值为0的Integer参数被MyBatis判断为空,因此不执行<if test="param != null and para ...
- jtds链接SqlServer数据库(整合)
先前使用的时候没做汇总,现在结合遇到的问题总结下. 开始使用jdbc驱动配置调用SqlServer不合适,根据网上的资料修改成了jtds配置方式. 当时使用的maven配置,配置如下: <spa ...
- SQL Server 2017 EXPRESS 安装 SQLCMD 设置远程连接
1.配置管理器内启动TCP/IP协议(端口改为1433)以及加入防火墙允许 2.进入本地实例: cmd Microsoft Windows [版本 ] (c) Microsoft Corporatio ...
- Word中设置所有西文字体为新罗马
如图所示,不用一个一个设置,在字体里直接设置细纹字体:Times New Roman ,中文字体不用管.
- 彻底理解Javascript 中的 Promise(-------------------------------***---------------------------------)
ES6原生提供了 Promise 对象. 到底是何方妖怪呢?打出来看看: 所谓 Promise,就是一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个 ...
- UIWebView to view self signed websites (No private api, not NSURLConnection) - is it possible?
What it actually does is to intercept the UIWebView to launch a NSURLConnection to allow the server ...
- The beta-reports-active Entitlement
Q: How do I resolve the "beta-reports-active" code signing error? A: There are a number o ...
- andriod读写XML
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...
- [转]WCF RESTful service and WebGrid in ASP.NET MVC 5
使用WebClient调用WCF服务 流程:从View获取实体类-->序列化-->写入内存流中-->传给远端的WCF服务 Get.POST.PUT.DELETE,客户端以流的方式调用 ...
- Android ToolBar 使用完全解析
ToolBar简介 ToolBar是Android 5.0推出的一个新的导航控件用于取代之前的ActionBar,由于其高度的可定制性.灵活性.具有Material Design风格等优点,越来越多的 ...