kal iphone日历控件
不废话,先上图

自带的例子演示了三种数据源的用法:iphone自带日历,json和sqlite.
githut地址:https://github.com/klazuka/Kal
[ios] shareKit,三行代码分享到社交媒体
shareKit是一枚ios上的分享库,支持分享文字,URL,图片和文件(取决于目标媒体是否支持)。
操作相当简单,只要三行代码。
- (void)myButtonHandlerAction { // Create the item to share (in this example, a url) NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"]; SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"]; // Get the ShareKit action sheet SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item]; // Display the action sheet [actionSheet showFromToolbar:navigationController.toolbar]; } |

iTimeLog的输入部分
iTimeLog是为了解决一个问题而出现的,当你晚上躺在床上准备睡觉的时候,你觉得这一天过得怎么样?
这个问题可以分成两个部分:第一,你的都做了哪些事,各花了多少时间?第二,这些时间都是值得的吗,这些事都是需要做的吗?
为了回答这两个问题,你必须记录下你的时间花费。
现在app store上已经有几个时间记录的软件了,但我觉得它们有一点做得不够,就是减少输入的复杂性。这也是iTimeLog存在的原因,iTimeLog的设计方向就是不断地减少输入复杂性,让输入尽量简单,减少记录时间的额外花销。

为了达到这个目的,iTimeLog的整个输入界面布局设计跟iphone的短信界面差不多,采用界面底部输入框的方式,输入事件后点击
号即可开始一个事件,记录开始时间,完成一件事情后,点击事件上的
即可打上完成时间,并自动算出耗时多少。但点击
的操作方式即不是必需的也不被鼓励,iTimeLog遵循一时一事的原则,开始新的事件的同时,会自动停止上一事件,也就是说,在流式的工作中,只需在开始做一件事的时候,在iTimeLog中输入一个事件即可,其它的工作iTimeLog会自动完成。
人在江湖,总有工作被打断的时候,比如在编码时收到电话说用户又懒得查手册了,这时停下来帮忙查手册已然不舒服,时间紧迫也不能慢悠悠地写事件记录。所以iTimeLog允许不输入任何文字的情况下直接点击
,这相当于先打一个时间戳,之后有时间再回头进行编辑。
对大部分人来说,一天所做的事多是重复的。比如一个标准的码农,一天的事大概就是起床-吃饭-编码-游戏-编码-看书-吃饭-睡-编码-吃饭-看书-游戏-睡。
因此iTimeLog在每一个事件记录上都放了一个
按钮,如果一个事件在屏幕上显示,只需点击
就可以开始它,而不需要调出键盘重新输入。比如“编码-游戏-编码”事件串,当玩完游戏重新开始编码的时候,
它就可以了。
[iphone] 饼图配色初级
目前正在进行中的项目需要用到饼图,参考初级的配色教程做了一个初级的配色方案。在使用随机配色的情况下,看上去并不会差到难以忍受的程度,虽然肯定比不上专业设计。上图是相同数据在iphone模拟器上的显示。
做法如下:
1.准备色盘,色盘我直接使用上面提到的教程上那个标准色盘,教程中有八级亮度的色盘可选,当然也可以准备别的色盘。在代码中使用包含12个UIColor的数组。
2.初始色:初始色是指第一个选中的颜色,我取(1-12)的随机数。考虑到用户数据可能不多,饼图的分区可能偏少等因素,不想使用固定的初始值,防止用户每次打开饼图都看到同样的配色。
3.确定分区取色规则。(设定色盘为一个数组)
- 一个分区:取初始色
- 两个分区:取初始色和对角色(即初始色+6)
- 三个分区:初始色,初始色+4,初始色+8
以此类推,设定一到六个分区的取法,七到十一个分区,使用一到一个分区的补集。
即,十一个分区:色盘减去一初始色。
十个分区:色盘减去初始色和其对角色。
其它:整个配色的冷暖明暗,我个人觉得跟最大的扇形区选色有关,我的做法是最大的扇区使用初始色,所以如果我想控制饼图,令整体色调偏暖,可以把初始色的随机值控制在几个暖色上。
[ios]简单的饼图代码推荐
在iphone上画报表,有收费的方案,一般开源的推荐就是:
不过,如果你只是想画饼图,同时也不想给自己找太多麻烦,或是项目时间太紧,可以试试以下这个简单的方案。
代码来自 cocoachina.com
使用这段代码有常见的两个问题的解决方案
1:阴影
如果你不想要原来代码中的阴影,搜”CGFloat CGGradientCreateWithColorComponents“,把第二个参数改成nil。
CGGradientRef gradient = CGGradientCreateWithColorComponents(colorspace, nil, nil, 2);
2.缺角
当你做了第一步之后,会发现饼缺一个角,这应该是一个Bug.
搜”只有弧度《 3.14 的才会画前面的厚度”把else中的break改成continue.
[ios note]实现UITextView的圆角
UITextView用于显示和输入大段文字,没有设置圆角的属性,跟UITextField不一致,在既有UITextField又有UITextView的界面中显得很突兀。
实现UITextView圆角的方法是借助UITextView的layer.原码如下:
foobar.h
#import <QuartzCore/QuartzCore.h>
foobar.m
note.layer.cornerRadius = 6;
note.layer.masksToBounds = YES;
效果:
[ios note] view
view是程序与用户交流的主要方式。
- 布局管理subviews
- 定义自己的resize行为
- 管理一系列subviews
- override subviews的大小的位置
- 转化自己的坐标系和window的坐标系
- 绘图和动画
- 在矩形区绘图
- 某些view变化时的直通车
- 事件处理
- 接收touch事件
- 参与responder chain
新建和配置view
CGRect viewRect = CGRectMake(0, 0, 100, 100); |
UIView* myView = [[UIView alloc] initWithFrame:viewRect]; |
viewWithTag:方法来检索。 它使用深度优先的算法检索当前view和它的子view(view层级是树状的)
- 添加subview
addSubview: - 插入subview insertSubView开头三方法 可指定位置
- 重排subview
- 移除subview
把subview插入到view时,大小超出view的部分不自动截断。
setNeedsLayout or layoutIfNeededautoresizesSubviews subview是否重排 autoresizingMask 控制subview如何重排,这个属性可以组合使用
- view controller
- 载入view,当view不再需要时,移除它。
- 设备改变方向时,重排。过程中有可以移除一些
- 界面状态改变时,如进行编辑模式
- Animation blocks
- 在animation block中进行两组view的转换
- 实现一些特别效果时,也可能放在animation中操作
- General
- touch 事件 seeEvent Handling Guide for iOS.
- 滚动 see Scroll View Programming Guide for iOS.
- 输入 seeText, Web, and Editing Programming Guide for iOS.
- 初始化
- dealloc 清理
- drawRect: 绘
- autoresizingMask 自动重排行为
- 如果包含subview
- 初始化时创建 subview
- 设置subview的 autoresizingMask
- 如果subview需要自定义layout 重写 layoutSubviews
- 处理touch-based event
- 附加合适的gesture recognizer addGestureRecognizer:
- 重写需要的touch方法(一定 要touchesCancelled:withEvent:)
- 如果要求view的打印版和屏幕上显示的不同,重写
drawRect:forViewPrintFormatter:
[ios note] windows
windows相关任务
建立和配置windows
用IB
更多资源 see Interface Builder User Guide.
手动
往window里面添加view
windowLevel 属性,决定其与其它window的关系,上还是下。
[Android] anTimeLog,记录你的时间

anTimeLog是一枚基于Google Android系统的时间日志软件。就像图标所显示的那样,anTimeLog的目标很简单:把从事一项活动的开始和结束时间记下来。让使用者可以正确地了解自己每天二十四小时时间的消耗情况,从而为个人的时间管理提供参考。
我写了简单的使用指南,欢迎有Android的朋友试用.
页面
Categories
- 92383 (1)
- lonely planet (25)
- Uncategorized (1)
- 一些故事 (3)
- 利其器 (10)
- 善其事 (62)
- 小说翻译 (2)
- 负暄琐话 (74)
laihj









