一个iOS 7 日历 风格的日期选择器 HSUDatePicker,大家看看有哪些改进之处 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
tuoxie007
V2EX    iDev

一个iOS 7 日历 风格的日期选择器 HSUDatePicker,大家看看有哪些改进之处

  •  
  •   tuoxie007
    tuoxie007 2013-10-17 12:36:05 +08:00 5143 次点击
    这是一个创建于 4455 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Source: https://github.com/tuoxie007/HSUDatePicker

    https://github.com/tuoxie007/HSUDatePicker/raw/master/1.png

    现在功能单一,样式也无法定制,日后想增加一些功能,可灵活定制样式。

    欢迎有经验的同学提提意见。
    12 条回复    1970-01-01 08:00:00 +08:00
    yeahren
        1
    yeahren  
       2013-10-17 13:38:08 +08:00
    nice job, dude !
    run2
        2
    run2  
       2013-10-17 17:01:35 +08:00   1
    feature request -- 农历?多选?限制可选日期?
    so898
        3
    so898  
       2013-10-17 23:02:05 +08:00
    我觉得比起用年,用NSDate来划分区间更好
    再一个是要是能切换周日为首或者周一为首就好了,国人一般都是从周一开始算一周的吧……UICollectionViewController,iOS 6+指定咯……那为啥还有dealoc……iOS 6+一般都是ARC的吧……你这代码应该也是ARC的啊……
    话说最后面两个inline方法能去掉不?毕竟是个开源项目,怕和其他部分定义的方法名冲突啊

    不要说我站着说话不腰疼……是楼主你要提意见的……闪人……
    Hysteria
        4
    Hysteria  
       2013-10-18 01:54:08 +08:00   2
    @so898 898兄,又见。dealloc方法在ARC下也是可以实现的,但是在其内不能调用[super dealloc],一般用来做remove observer,target等等之类的工作也。
    so898
        5
    so898  
       2013-10-18 09:24:39 +08:00   1
    @Hysteria 高端先进洋气,不过dealloc真心不喜欢看到……
    zhigang1992
        6
    zhigang1992  
       2013-10-18 10:33:33 +08:00 via iPad
    像-viewDidLoad,或者-viewWillAppear里面,我们应该把super call放在最前面还是最后面。为啥?
    kinoAndWorld
        7
    kinoAndWorld  
       2013-10-18 11:00:55 +08:00   1
    @zhigang1992 如果是构造或者初始化,先父后子。析构或者清理反之。
    tuoxie007
        8
    tuoxie007  
    OP
       2013-10-18 11:34:03 +08:00
    @so898
    @Hysteria 谢谢
    在dealloc里把_date设为nil是为了躲ios6里有可能的有一个bug,成员变量(不是property)有时不会被回收,不知道是不是我写的不好,请指教
    在dealloc里remove observer这个很正常的用法吧,这个@so898就别那么洁癖了吧,当然不用也行,我已经把它移到viewWillDisappear里了
    inline方法这个说的有道理,我先移到class里去了
    tuoxie007
        9
    tuoxie007  
    OP
       2013-10-18 11:37:06 +08:00
    @kinoAndWorld
    @zhigang1992 从API上讲,我觉得无所谓,我的习惯是一般是will先父后子,did先子后父,不过有时写代码的时候不太注意
    div id="r_803655" class="cell">
    kinoAndWorld
        10
    kinoAndWorld  
       2013-10-18 11:44:18 +08:00
    @tuoxie007 好吧~有时候先后顺序无关紧要。will其实不写super也没事,但是从逻辑来说是有个顺序的,这个一般自己写的类的继承会体现比较明显

    PS:我看了一下你写的日历,可以学习的地方很多~赞一个。
    如果点击非日期数字的空白处貌似会崩溃,你看一下
    tuoxie007
        11
    tuoxie007  
    OP
       2013-10-18 11:45:06 +08:00
    @kinoAndWorld 谢谢,我刚才已经改过了,哈哈
    Hysteria
        12
    Hysteria  
       2013-10-18 12:26:03 +08:00
    @tuoxie007 绝绝谈不上指教= - =,你水平绝对比我高多了,我发现我早就follow你了,这个项目先star了,以后说不定会用到。你说的bug我都没有遇到过,所以就没研究过了。另外,我个人觉得init跟dealloc要配对,appear跟disappear要配对,如果在disappear里面做remove的话,可能就需要在需要在appear里add了,可能稍微强迫症了的点。话说,说的都是细枝末节,最后赞一下你的项目。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:17 PVG 15:17 LAX 23:17 JFK 02:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86