学习UI设计笔记(一)

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡那啥, 我知道NSDate的坑没有搞定。缓缓,缓缓。我在开个新坑来着。恩恩这个坑就是记录一下怎么学习Sketch 这个软件的。 首先,我买了本更优秀的APP-31个APP用户界面设计经典案例。 高手勿喷,这种图文并茂,手把手的交比较适合我这种菜鸟。 这本书的唯一好处是他的例子是Ai的。而Sketch也是矢量图。所以我以为会有些类似的操作。(其实根本是两个软件啊!!!!) 然后我准备把他说的31个例子都用Sketch来模仿一边。恩,先把Sketch的大部分功能运用熟练再说(就是花了小几百不想让他吃灰而已)     阅读全文
萧宸宇's avatar
萧宸宇 3月 25, 2014

iOS笔记(34) 格志周年系列之夏令时(二)

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡恩,两月没更新blog,hexo都出来新主题来着。其实昨天为了找个背景图找了一小时我会随便乱说。就是为了找一个配合网站标题的背景图。其实hexo默认的就蛮好了,但是为了显示那么一点点与众不同还是替换了一下。 扯淡结束,接上一篇格志周年系列之夏令时(一) 第一阶段Bug上次说过一个中国高富帅用户发Email来说,他去泰国旅游的时候,日记都不见了。 其实不是日记不见了,日记都好好的躺在sqlite文件里面。而是查询不出来了。日记的保存是用了一个函数去获得了每天的00:00:00. 然后作为唯一标识来区别和查询。 那日期出了啥问题? 我们来快速的分析一下 调用的是 12345678- (NSDate *) dateAtStartOfDay{ NSDateComponents *components = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:self]; components.hour = 0; components.minute = 0; components.second = 0; return [CURRENT_CALENDAR dateFromComponents:components];} 里面有两个宏 12#define DATE_COMPONENTS (NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit)#define CURRENT_CALENDAR [NSCalendar currentCalendar] 假设你使用过Cocoa时间这些类的话能很容易的看出。dateAtStartOfDay函数就是把你持有的date以当前日历为基础,其他不改,小时,分钟,秒钟设置都为0。这样就能得到一个基于当前日历下的date这一天的00:00:00。 简单看上去没有什么问题,回到高富帅的问题。他出国玩一圈咋时间就变了呢?答案是[NSCalendar currentCalendar]改变了。NSCalendar的改变使得dateAtStartOfDay返回的时间也变了。debug到这一步才发觉靠当初为什么没有想到有时区的这个问题。 自己给自己找一个理由就是到目前为止,我只用过大天朝的+8时间。潜意识里面根本没有说换一个时区这样的概念。(后来某一天我翻了本C语言的书第一章就说了国际化时间的问题,再后来weibo上大家都纷纷表示时间是编程里面一个基础点而且做好不容易,只能说我还是太菜太年轻了。这些是后话了) 说道这里那就开始科普一下地球上时间的问题     阅读全文
萧宸宇's avatar
萧宸宇 3月 19, 2014

iOS笔记(33) 格志周年系列之夏令时(一)

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡两月没写blog,没羞没皮了。以后作息规律一些,blog更新还是频繁一些。格志在2014年2月11日就整整上线一周年了。2013一年做格志,由于自己的技术实在比较菜。导致从上线的第一天起,整个团队跟着一直打补丁。小的坑就不说了,大的坑有两,一个iCloud + Core Data世界性难题。一个是全球时间问题。这篇blog就用来专门记下时间的坑。中间还有个插曲——格志在三月上线了2.0的全新专门为iOS 7设计的版本。时间问题在去年10月份改完以为对了就没有改过。结果3月9号是3月的第二个周日,美国地区进入夏令时。格志中又再次发生了时间问题,导致日记显示不全。之前开会说过放错不可怕,可怕的是放同样的错误。再次放错以后我都呆住了。那可是我写过测试用例的啊。结果当时一run测试就挂掉了。瞬间脑子蒙掉。然后上周通宵了一天,基本每天到3点把世界时间问题给彻底搞定。(希望是彻底)所以趁着我现在还有印象,记录一下。     阅读全文
萧宸宇's avatar
萧宸宇 3月 18, 2014