105使用滚动的方式查看图片

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController<UIScrollViewDelegate>
4 @property (strong, nonatomic) UIScrollView *scrVCustom;
5
6 @end

ViewController.m

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()
 4 - (void)layoutUI;
 5 - (void)scaleToBigDidPush:(UIButton *)sender;
 6 - (void)scaleToSmallDidPush:(UIButton *)sender;
 7 @end
 8
 9 @implementation ViewController
10
11 - (void)viewDidLoad {
12     [super viewDidLoad];
13
14     [self layoutUI];
15 }
16
17 - (void)didReceiveMemoryWarning {
18     [super didReceiveMemoryWarning];
19     // Dispose of any resources that can be recreated.
20 }
21
22 - (void)layoutUI {
23     _scrVCustom = [[UIScrollView alloc] initWithFrame:CGRectInset(self.view.bounds, 0, 0)];
24     //设置滚动视图_scrVCustom中的图片
25     UIImageView *imgVCustom = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"CoolMan.jpg"]];
26     [_scrVCustom addSubview:imgVCustom];
27
28     _scrVCustom.contentSize = imgVCustom.bounds.size;
29     [self.view addSubview:_scrVCustom];
30
31     //设置滚动视图_scrVCustom放大和缩小初始值
32     _scrVCustom.delegate = self;
33     _scrVCustom.minimumZoomScale = 0.2;
34     _scrVCustom.maximumZoomScale = 2.0;
35     _scrVCustom.zoomScale = 1.0;
36
37     CGFloat y = self.view.frame.size.height - 50;
38     UIButton *btnScaleToBig = [UIButton buttonWithType:UIButtonTypeCustom];
39     btnScaleToBig.frame = CGRectMake(20, y, 80, 40);
40     [btnScaleToBig setTitle:@"放大" forState:UIControlStateNormal];
41     [btnScaleToBig setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
42     [btnScaleToBig setBackgroundColor:[UIColor greenColor]];
43     [btnScaleToBig addTarget:self
44                       action:@selector(scaleToBigDidPush:)
45             forControlEvents:UIControlEventTouchUpInside];
46     [self.view addSubview:btnScaleToBig];
47
48     UIButton *btnScaleToSmall = [UIButton buttonWithType:UIButtonTypeCustom];
49     btnScaleToSmall.frame = CGRectMake(120, y, 80, 40);
50     [btnScaleToSmall setTitle:@"缩小" forState:UIControlStateNormal];
51     [btnScaleToSmall setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
52     [btnScaleToSmall setBackgroundColor:[UIColor greenColor]];
53     [btnScaleToSmall addTarget:self
54                       action:@selector(scaleToSmallDidPush:)
55             forControlEvents:UIControlEventTouchUpInside];
56     [self.view addSubview:btnScaleToSmall];
57
58 }
59
60 - (void)scaleToBigDidPush:(UIButton *)sender {
61     _scrVCustom.zoomScale += 0.2; //调整缩放值触发委托事件viewForZoomingInScrollView
62 }
63
64 - (void)scaleToSmallDidPush:(UIButton *)sender {
65     _scrVCustom.zoomScale -= 0.2; //调整缩放值触发委托事件viewForZoomingInScrollView
66 }
67
68 #pragma mark - ScrollView
69 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
70     UIView *imgVCustom = nil;
71     for (id subview in scrollView.subviews) {
72         if ([subview isKindOfClass:[UIImageView class]]) {
73             imgVCustom = subview;
74             break;
75         }
76     }
77     return imgVCustom;
78 }
79
80 @end
时间: 2024-10-07 10:43:42

105使用滚动的方式查看图片的相关文章

减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)

原文:减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术) 在网站开发过程中,对于页面的加载效率一般都想尽办法求快.那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法.上一篇博文我们讲解了 “利用将小图标合成一张背景图来减少HTTP请求”,那么,这一篇博文将讲解  “ 将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片”. 一.为何选择将图片转成二进制并生成Base64编码,可以在网页中通过url查看

在移动设备上放大图片查看图片细节的俩种方法

类似淘宝京东上的产品图,我们可以放大来看产品的具体细节.那么,在移动设备上,基于Web浏览器的这种效果又是如何实现的呢? 一.使用touchEvent来实现,关于touchEvent的一些基本知识,可以阅读文章--多点触摸网络开发 1.页面代码 <div id="warpper" class="warpper"> <div class="clearfix"></div> <div id="con

ImageView和onTouchListener实现,点击查看图片细节

这是来自疯狂android讲义上的例子,其实没啥意思.就是用监听器获取到手指的坐标,然后根据这个坐标开始绘制一个图片.(这里的绘制方式有些问题,所以凑合看看吧.) 首先,还是布局文件(两个ImageView) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android

ReactNative学习-滑动查看图片第三方组件react-native-swiper

滑动查看图片第三方组件:react-native-swiper,现在的版本为:1.4.3,该版本还不支持Android. 下面介绍的是该组件的一些用法,可能总结的不完整,希望大家一起来共同完善. 官方文档:https://github.com/leecade/react-native-swiper 效果图: 安装 npm install --save react-native-swiper 基础用法 import React, {AppRegistry,Component,StyleSheet,

一款在论坛上看到的JS封装的随机过渡方式的图片切换效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

android项目 之 记事本(13) ----- 查看图片及播放录音

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 今天就来实现下查看图片及录音的功能,在编辑或者浏览记事时,点击图片,打开一个自定义Activity(当然了,也可以调用系统的图库来查看)来查看所添加的图片的原始图片,而不是缩放后的图片,同理,用自定义Activity来查看录音文件,实现播放录音的功能.上图: 从图中也可以看出,我们首先要创建两个Activity,当然了,布局文件也是少不了的,如下: activity_show_

【iOS开发-3】sandbox沙盒介绍以及如何取得沙盒里面各文件的路径,图片导入方式和图片路径获取

其实每个APP的程序都是单独的一个文件夹,每个APP之间相互之间独立,所以它们的文件夹也是独立的,这个文件夹就是沙盒.沙盒好处,安全.坏处,程序之间彼此共享数据较为困难. (1)如何找到应用程序的沙盒源文件? 一般沙盒源文件都存放在~/Library/Application Support/iPhone Simulator/版本号/Applications/的文件夹中,但是这个Library(中文名叫资源库)文件夹是隐藏的.所以需要方法才能点击进去:在Finder中按CMD+SHIFT+G,然后

hadoop源码解读namenode高可靠:HA;web方式查看namenode下信息;dfs/data决定datanode存储位置

点击browserFilesystem,和命令查看结果一样 当我们查看hadoop源码时,我们看到hdfs下的hdfs-default.xml文件信息 我们查找${hadoop.tmp.dir}这是引用变量,肯定在其他文件有定义,在core-default.xml中查看到,这两个配置文件有个共同点: 就是不要修改此文件,但可以复制信息到core-site.xml和hdfs-site.xml中修改 usr/local/hadoop 是我存放hadoop文件夹的地方 几个关于namenode的重要文

java模拟post方式实现图片上传

package com.yanek.util; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.ne