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

效果图

时间: 2024-08-24 08:33:51

iOS_3_图片浏览的相关文章

非微信图文网页,微信浏览器点击图片弹出自带图片浏览 (原创请勿转载)

微信图文网页点击插入的图片,会在微信的图片浏览器上浏览图片可以放大缩小,但是自己做的网页没有这个功能,下面我就来介绍一下这个功能,做出一个完美一点的demo.如果不想看过程直接到最后看demo... 教程需要:脚本编辑器(记事本或者是notepad++.DW都可以).jquery.js.微信浏览器作为测试 如下图效果 我们用到的是微信内置JsAPI的一个,这个函数在微信的开发者平台文档里我没有找到,是在网上搜到的. WeixinJSBridge.invoke('imagePreview',{  

图片浏览(CATransition)转场动画

Main.storyboard ViewController.m // //  ViewController.m //  8A04.图片浏览(转场动画) // //  Created by huan on 16/2/4. //  Copyright © 2016年 huanxi. All rights reserved. // #import "ViewController.h" #define AnimationDuration 2 @interface ViewController

UIScrollView和UIPageControl结合实现图片浏览

iOS中具有图片类的app通常都会有滑动浏览的功能,许多app第一次启动时,也会用UIScrollView+UIPageControl来展示新功能.今天探索一下如何实现该功能. 首先介绍下UIScrollView, UIScrollView中有个重要的属性是contentSize,用于界定滑动范围的大小.UIScrollView本身frame是我们在屏幕上可视部分,也就是说contentSize的宽要大于UIScrollView.frame.size.width才能实现滑动浏览的功能. 另外,图

【MVC】快速构建一个图片浏览网站

引言 当抄完MusicStore时,你应该对MVC有一个比较清晰的认识了.接下来就需要做个网站来继续增加自己的知识了.那么,该做个什么网站呢.做个图片浏览网站吧,简单而实用. 简单设计 1.首先,页面中间是个图片列表.将所有图片列出来是不太科学的,所以要做个分页浏览的功能. 2.页面右边,有个图片排行榜,列出点击量前10名的图片名称.而且,同一时间段同一客户端的重复点击只能计算一次才合理的. 3.有图片浏览就肯定有图片上传功能啦,还必须要是登录后才能上传. 数据层 采用EF的Code First

【微信公众平台开发】借用微信内置图片浏览功能

开发微信公众平台时,碰到文章中有很多图片,需要可以点开图片浏览:那么点击图片直接调用微信客户端自带的图片播放组件会省很多事.否则你得去摆弄折腾各种图片浏览插件,比如photoswipe. 个人封装功能成一个js文件.把该文件放到你需要的网页里面即可,这样文章当你点击图片时,就会调用图片浏览功能! <script> function addLoadEvent(func){ //将函数作为参数,此函数就是 onload 触发时需要执行的某个函数 var oldonload=window.onloa

WPF 图片浏览 伪3D效果

原文:WPF 图片浏览 伪3D效果 首先上效果图: 因项目要求,需要把图片以"好看"."炫"的效果展示出来,特地研究了一下WPF关于3D方面的制作,奈何最终成果只是能够画出一个立方体并使之旋转. 项目时间仅剩两天,只好放弃3D另找出路,于是就想起了Flash中各种"炫丽"的动画效果,图片按椭圆排列,并且旋转. 于是开始代码,然后发现关于椭圆啊.正玄余玄.x,y,r等等数学知识都忘得光光了,仅有思路没有进展,无奈之下开始百度恶补数学知识.图形变换.

图片浏览(点击放大缩小支持多张图片浏览)

大神写的,我就参考参考啦! 从主布局开始了 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_pare

表单-图片浏览上传-单选框(二)

一.图片浏览上传 1.依然[table]标签包含, 2.[input]包含了[type]等于[file]. <table border="1" align="center"> <tr> <td>图片上传</td> <td><input type="file"</td> </tr> <tr> </table>  二.单选框——点击文字不

oc中使用switch实现图片浏览功能

图片浏览功能,首页和最后页,需要禁用“上下页”按钮,中间页又要恢复按钮,感觉switch比if要简洁一些: 1 -(void)turnPage:(BOOL)isUp{ 2 if(isUp){ 3 self.currentNum++; 4 }else{ 5 self.currentNum--; 6 } 7 switch (self.currentNum) { 8 case 0: 9 //"上一页"失效 10 self.lastButton.enabled = NO; 11 break;