iOS--简易相册

学习UI已经一周左右,制作了一个简易相册!效果图如下:

效果图

该工程在MRC模式下创建,需注意deallocrelease,这段代码并没有按照写好后的顺序出现,而是按照问题出现及思考的顺序书写,阅读时需要注意

代码部分:

MyHeader.h:


由于需要大量使用屏幕的宽与高,所以先在MyHeader.h中声明两个宏定义

宏定义


AppDelegate:

初始化window,设置视图控制器及添加导航栏!此处就不一一赘述!

注意:

这段代码将导航栏的透明度设置为不透明,在接下来的书写中需要注意要预留出导航栏的高度!


ViewController:

设置导航栏标题,导航栏颜色及风格:


初始化首页的滚动视图,以此实现首页上下滑动(以下代码书写在loadView中):

由于预留导航栏的高度,所以需要在设置滚动视图的高度时减去64,首页显示方式为3行2列,所以设置滚动视图容量时只需将图片大小乘三就足够了!


添加图片:

共有6张图,用for循环6次,由于偏移量的改变,所以需要进行if判断,图片用1-6命名,可以充分利用i,名为奇数的放在左边,偶数的放在右边!


用tag值对图片进行标记,图片的用户交互默认为关闭,需要手动开启,否则为图片添加手势会无效


将轻拍手势添加给图片,在下面需要写一个didTaoImageView的手势实现页面跳转


在顶部引入头文件,pushViewController方法实现跳转,animated后写YES代表开启动画

点击图片,实现跳转,效果如下:


卡顿

问题1:卡顿

跳转过程中会出现卡顿现象,此时需要在新界面的文件中将self.view给一个背景色!

修改后效果如下图:

无导航栏标题

问题2:导航栏标题

我们需要根据选择的照片来判断是第几张图片,所以跳转后页面的导航栏标题不能写死,要能根据选择的图片进行初始化,这里用到了属性传值

首先,需要在DetailViewController.h中声明一个整型变量,这里命名为num,然后在ViewController.m中进行属性传值

6张图片的tag值分别为1001-1006,减掉1000就得到了对应第几张,将number的值赋给num


DetailViewController.m:

在viewDidLoad中设置偏移量(确保页面跳转后显示在前一页点击的图片)及导航栏的标题

在延展里声明一个属性scrollView,类型为:UIScrollView 此处也需要用到屏幕的宽与高,所以也需进行宏定义,此时使用到了前一页传过来的num


导航栏标题



这里依然会用到一个大的滚动视图,在延展里将滚动视图写成属性,注意要将导航栏的64减掉,并且需要整页翻动


添加图片:

添加后效果如下:


标题不可变

问题3:标题不随翻页改变:

翻页后标题不会实时改变,此时需在DetailViewController.h中签订<UIScrollViewDelegate>协议.在DetailViewController.m中设置代理人:

协议中有一个方法,结束减速,也就表示滑动结束:

在方法中修改标题,需用到x方向的偏移量,除以屏幕的宽就是翻了几张,由于第一张没翻页,第二张翻了一页,第三张翻了两页,以此类推,需要在计算结果后加一,就能表示当前图片为第几张.这样简易相册就完成了!

缺点:

1.功能少,只能实现简单的翻页和页面跳转!

2.开销大,在循环中创建UIImageView,每走一次循环,便都需完成创建与释放的过程,图片多就需要创建相对应数量的UIImageView,在电脑上内存还够用,但6张图片就已接近80M,在手机上无法使用

3.耦合度高,需在创建相册时提前写好图片的张数

再附上一张效果图:


由于学习时间较短,还不能写出太好的代码,还请各位多多帮助!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,684评论 22 664
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 23,615评论 8 183
  • 今晚上接孩子回家,我家门前落下了好多的银杏树叶,很是漂亮!女儿下车子开开心心的捡了一大堆。我问她为什么?她只...
    千金格格阅读 137评论 0 0
  • 今夜我把失眠藏在枕下 阑尾炎的疼痛弥漫开来 无数个恶魔在教唆 我怒吼一声,窗外的树在哆嗦 今夜我走向手术室听着刀割...
    霖雨凌零阅读 153评论 0 1
  • 匆匆忙忙又回到了家里。从闭塞封闭的高三教室回到了时刻不在变化的花花世界里,从冷酷激烈的高三教室回到了温暖安静的...
    名字被人抢走了啊阅读 252评论 0 0