九宫格图片浏览器

#import "ViewController.h"
#import "Appfz.h"
@interface ViewController ()
@property(nonatomic,copy)NSArray *apps;//文件读取
@property(nonatomic,assign)BOOL b;//判断属于放大还是缩小方法
@property(nonatomic,assign)CGRect cgr;//记录按钮按下时的按钮的坐标、尺寸
-(NSArray *)apps;//
@end

@implementation ViewController
//数据读取
-(NSArray *)apps
{
    if (_apps==nil) {
    NSString *path=[[NSBundle mainBundle]pathForResource:@"myhous.plist" ofType:nil];
    NSArray *arr=[NSArray arrayWithContentsOfFile:path];
    NSMutableArray *arrM=[NSMutableArray array];
    for (NSDictionary *dic in arr) {
        Appfz *app=[Appfz appWithdic:dic];
        [arrM addObject:app];
        }
    _apps=arrM;
    }
    return _apps;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    //基本数据
    int index=4;
    CGFloat appW=95;
    CGFloat appH=95;
    CGFloat apptopY=30;
    CGFloat appjxX=(self.view.frame.size.width-index*appW)/(index+1);
    CGFloat appjxY=appjxX;
    for (int i=0; i<self.apps.count; i++) {
        int X=i/index;
        int Y=i%index;
        Appfz *app1=self.apps[i];
        //循环添加按钮
        UIButton *app=[[UIButton alloc]init];
        app.frame=CGRectMake(appjxX+(appW+appjxX)*Y,apptopY+(appH+appjxY)*X+appjxY, appW, appH);
        [app setBackgroundImage:[UIImage imageNamed:app1.icon] forState:UIControlStateNormal];
        [app setBackgroundImage:[UIImage imageNamed:app1.icon] forState:UIControlStateHighlighted];
        [self.view addSubview:app];
        [app addTarget:self action:@selector(isbutton:) forControlEvents:UIControlEventTouchDown];
        }
    }
//定义按钮方法
-(IBAction)isbutton:(UIButton *)app
{
    if (self.b==NO) {
        //在放大之前将按钮的大小尺寸赋值给self.cgr
        self.cgr=app.frame;
        [self button:app];
    }
    else
    {
        [self smallImgClick:app];}
}
//放大图像
-(void)button:(UIButton *)app
{
    [UIView animateWithDuration:1.0 animations:^{
        app.frame=CGRectMake(0, 30, 414, 706);
    }];
    [self.view bringSubviewToFront:app];
    //放大后不再放大
    self.b=YES;
}
//图像还原
-(void)smallImgClick:(UIButton *)app1
{
        [UIView animateWithDuration:1.0 animations:^{
           app1.frame=self.cgr;
        }];
    [self.view bringSubviewToFront:app1];
    self.b=NO;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

时间: 2024-10-12 05:08:01

九宫格图片浏览器的相关文章

ViewPager做图片浏览器,加载大量图片OOM的问题修正

1 /** 2 * @author CHQ 3 * @version 1.0 4 * @date 创建时间: 2016/7/26 17:18 5 * @parameter 6 * @return 7 * 图片查看器 8 * //可以查看网络图片 9 * //可以查看本地图片 10 */ 11 public class PhotoScan extends Activity { 12 private PhotoViewPager mViewPager; 13 private List<View>

快速集成图片浏览器快速集成图片浏览器-&gt;MJPhotoBrowser的使用

介绍: 一个比较完整的图片浏览器,高仿了新浪微博的图片浏览效果,功能包括:下载浏览互联网图片,点击缩略图全屏显示图片.当加载较大图片时会出现圆形进度条,滑动浏览所有图片.保存图片到本地相册.GIF图片播放等.而且仅需几行代码就能添加图片浏览器功能. 项目地址:http://code4app.com/ios/快速集成图片浏览器/525e06116803fa7b0a000001 使用: for (int i = 0; i<3; i++) { UIImageView *img = [[UIImageV

IOS开发-图片浏览器实例-UIImageView的使用-懒加载-plist文件的使用

一.本文概述 一个使用UIImageView.UILabel.UIButton实现的图片浏览器的实例,界面如图:   功能描述: 1. 点击左右箭头切换图片.图片描述.图片序号: 2.第一张图片时左箭头不能点击 3.最后一张图片时右箭头不能点击 4.点击设置按钮出现一个可设置的界面(上图中黄色背景的部分)可以设置模式和对图片的缩放 实现概述: 1.搭建UI界面,使用UIImageView控件显示图片 2. 监听个按钮的点击 3. 切换图片内容,描述,序号.背景色及UIImageView的tran

Android中轴旋转特效实现,制作别样的图片浏览器

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/10766017 Android API Demos中有很多非常Nice的例子,这些例子的代码都写的很出色,如果大家把API Demos中的每个例子研究透了,那么恭喜你已经成为一个真正的Android高手了.这也算是给一些比较迷茫的Android开发者一个指出了一个提升自我能力的方向吧.API Demos中的例子众多,今天我们就来模仿其中一个3D变换的特效,来实现一种别样的图片浏览器

简单图片浏览器

在设置开关灯的时候出了一点小问题,默认UISwitch为on当用if(sender.on)做判断时,第一次点击无效.后来调试默认为on,当改变状态时sender.on返回的是0,再次点击返回的是1.判断一个UISwitch为off可以用!sender.on 用到加载本地目录下的文件 //获取所有描述(通过解析plist文件来创建数组对象,比如传入文件的全路径) NSBundle *bundle = [NSBundle mainBundle]; //获取文件的全路径 NSString *path

CardLayout布局练习(小的图片浏览器)

1 /* 2 涉及Panel中的图片的加载,还有Frame的关闭的方法, CardLayout(int hgap, int vgap)就会决定卡片面板的大小 3 匿名类的使用... 4 */ 5 import java.awt.*; 6 import java.awt.event.*; 7 import javax.swing.*; 8 public class CardLayoutDemo extends Frame{ 9 Panel pCards=new Panel();//卡片面板 10

0821基本控件实例1 ——图片浏览器

一.项目需求--照片浏览器 二.开发步骤 1. 新建项目 2. 搭建UI界面 3. 建立IBOutlet,以便代码能够处理界面元素 4. 建立IBAction,以便界面上某些事件发生时执行方法 5. 代码实现 提示:为了便于理解,开发过程分两个步骤完成 三.演练说明 1.本节使用到的控件包括:UILabel,UIImageView,UISwitch,UIStepper和UISlider五个基本控件,除了第一个UILabel大家已经接触过之外,其他的四个控件都是第一次接触 2.开发过程中首先通过两

IOS开发系列--无限循环的图片浏览器

--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 UIView 在熟悉UIScrollView之前

iOS图片浏览器控件 放大,缩小,UIScrollView

GitHub地址 https://github.com/JerryWanXuJie/XJAlbum 图片浏览器主要通过 UIScrollView 实现  在一个大的ScollView里面套 n个ScollView UIScrollView里主要是有两个属性,contentSize和contentoffset , contentSize 是设定UIScrollView的可交互的大小,contentoffset偏移量 设置第一层 UIScollView 主要是设置 contentSize 和 con