用 Sketch 和 Xcode 设计的第二款 App

这次我设计的 App 叫「DoDid」,是一款 to do 类的 App. 在这个过程中使用到的一些工具如下:

  • Sketch
  • Xcode
  • Iconjar
  • Google
  • Stack Overflow

Logo 形状的设计安排,采用两个字母“D”, 前一个代表 Do, 后一个代表 Did, 表示计划和完成的意思。其中 logo 颜色的黄颜色代表未完成事项,绿色代表已完成事项,Text view 和 Button 的高度也是 44pt. 下图即是 App 的启动页面。

下图是登录页面,与我上一个设计的 App 多了记住账号选项。

背景是用 Background Blur,得到毛玻璃效果。

下图是主界面,同样界面上半黄色部分是未完成事项,下半绿色部分是已经完成事项,其中 to do list 项目用灰色表示,代表历史沉寂事项。该页面最顶端的日期点击后可以跳转出日历界面。

点击列表旁边的加号后,会出现代表重要事项的“感叹号”,事项完成后可以勾选“Check”选项,点击垃圾桶可以在该事项上画出一道横线,代表删除事项。

该页面底部的菜单选项,点击后出现 Popover View, 分别可以跳转到重要事项和退出账号。该 Menu Button 右边的加号按钮点击后可以弹出新建任务的 Dialog view, 背景有一层 Mask view, 可以突出新建任务框。

下图是日历页面,中间的三列是可以滑动选定日期的,另外这款 App 的按钮基本上都采用的圆形。

calendar

以上是「DoDid」基本的 GUI, 下面纪录下在 Xcode 的帮助下,使软件达到好的交互效果。

  • 下图的 GIF 动画是日历启动画面(由于录制 GIF 的软件帧数达不到要求,达不到理想录制效果)。


之所以考虑用 slide down 的模式向下展开日历界面,是因为选择日期的按钮在顶部,所以这样的交互动画符合逻辑。这个需要在 Xcode 里将其 class 命名为 SpringView, Animation 选为 slideDown.

![](http://upload-images.jianshu.io/upload_images/1438897-b9dd518a8b16300c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 接下来是用代码实现日历列表的拖动。将三个可拖动的列表创建 UI View.

@IBOutlet weak var date1View: UIView!
@IBOutlet weak var date2View: UIView!
@IBOutlet weak var date3View: UIView!

然后在 Object library 中拖动 Pan Gesture Recognizer 到刚创建的三个 UI View 里。

最后,分别对三个 Pan Gesture Recognizer 创建 IBOutlet 和 IBOutaction.

@IBOutlet var PanRecognizer:UIPanGestureRecognizer!
@IBAction func HandleGesture(sender: AnyObject) {
let location = sender.locationInView(view)
date1View.center = location
}

这样就可以实现对列表的手动拖动效果了。

  • 点击列表旁边的加号会显示出三个按钮,如下图。

创建的三个 Button View 可以预先设置 hidden, 再对三个按钮设置 IBOutlet,对加号按钮设置 IBOutaction.

@IBOutlet weak var edit1Button: UIButton!
@IBOutlet weak var eButton: UIButton!
@IBOutlet weak var cButton: UIButton!
@IBOutlet weak var tButton: UIButton!
@IBAction func edit1ButtonDidTouch(sender: AnyObject) {
eButton.hidden = false
cButton.hidden = false
tButton.hidden = false
}

  • 点击每个事项可以跳出任务框,点击框之外的区域可以给任务框加个 fall 的动作。

给 Text View 加上IBOutlet, 任务框之外的 Button 加上 IBAction, 点击 Button 之后输出框有 fall 的动作。

@IBOutlet weak var dialogView: DesignableTextView!
@IBAction func backButtonDidTouch(sender: AnyObject) {
dialogView.animation = "fall"
dialogView.animateNext{
self.dismissViewControllerAnimated(true, completion: nil)
}

  • 点击底部的 Menu Button 后会出现 Popover View.

首先给跳出的对话框下面加上 UI View(背景色设为 Clear Color, 并 hidden), 然后从 Library 拖物件置 UI View 上。

这部分代码和上面加号按钮代码相似。

  • 现在点击底部右下角的 Button, 可以新建任务。任务框从底部弹出,动作是 Squeeze Up.

给 TextView 加上 Class: DesignableTextView, Animation 设置为 Squeeze up.


![](http://upload-images.jianshu.io/upload_images/1438897-33e47019f7969bdd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

以上就是这款 App 的基本 UI 和交互动作,还有很多需要完善改进的地方。

PS. 本文中所用的 GIF 图片录制的效果不理想,掉帧严重,大家请见谅。如果能直接贴视频就好了~

以下链接是 DoDid App 的交互视频:

http://v.qq.com/page/n/f/s/n0185y0otfs.html

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

推荐阅读更多精彩内容