[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;
效果:
你好,2011
2011年的第一天就要结束了。这一年的目标只有一个:要目田。
[ios note] SQLite Tutorial
- SQLite Tutorial – Displaying data in a UITableView
- SQLite Tutorial – Deleting data from UITableView.
- SQLite Tutorial – Inserting data into SQLite database.
- SQLite Tutorial – Loading data as required.
- SQLite Tutorial – Updating data in SQLite database.
- SQLite Tutorial – Saving images in the database
[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的关系,上还是下。
空椅子

加班
我们的祖国,就是有把正不正常的事变正常的能力,同时也把正常的事变不正常了,比如加班不给钱。
这个项目刚开始的时候,我坚持撑着不加班,后来也撑不住了。我实在找不到加班的理由,要一个人加班,他从加班这件事中能得到什么呢?
首先,我们不多给钱,没有人会因为加班得到奖金。
其次,这就是一个用无差别人类劳动到市场上换钱的项目,就是说从技术角度讲,它并没有让人眼前一亮或保持持续兴奋的地方。曾经有一个故事说,从前有一个程序员,他老婆在产床上睁开双眼看到他还是写代码,于是质问他说那破游戏比她还重要么?这个程序员回答说这不是破游戏,这是星际争霸。我们做的不是星际争霸,我们不改变世界,当然也不改变中国。
再次,我们使用上个世纪的技术,从经验值的获取来看,相当于三十级四围30,30,30,30的英雄带着骨龙砍十个骷髅,当然,英雄的四围也许没那么高,带的也可能不是骨龙而是僵尸,但经验值确实就就那么多了。
以我的角度上,程序员能从这个项目中得到的非常少,在商言商地说,甚至是负的。因为工作这件事,本质上来说,就是一个人将自己的时间卖给公司,在这段卖掉的时间里,他不能做自己的事,要做公司要求的事。加班,就降低了他单位时间的售价。
那么程序员为什么不辞职呢?程序员抱怨加班,抱怨伙食太差,抱怨公司行政人力太SB,他们却不辞职。
是因为懒惰和恐惧吧。懒得出去找工作,懒得折腾,害怕辞职之后找不到工作,还不起房贷。
公司就是利用这一点,公司比程序员强一些的地方在于,它对雇员的承受力,远比员工失去工作的承受力为高。亚当斯密说过这事儿,假设公司不开工,一年才会破产的话,劳动者经常不工作两个月就要饿死了。于是劳动者对加班这给钱这事儿的容忍度也高一些,之后又高了一些,再高一些,于是有一天我们头对我说,你看我们整个公司的这样,外面的公司其实也差不多。
对于公司来说,这么做的风险在于,忽然有一些,劳动者不忍了,他们竟然提出要辞职,(应该不会有罢工这回事,这需要组织,至少我们公司来说,工会的作用联系一些企业到公司来搞促销)这个比较麻烦,不过这件事发生的机率非常非常小。一般情况下,只会是他提出辞职,不会是他们。这事儿麻烦一点,公司越小越麻烦,所以事实上,小公司的待遇反而好一些,因为人员离职对他们整体的伤害更大。而大公司早就有应对之策,它会先让你的工作永远有人可以代替,所有paul有篇文章就说为什么不要为大公司打工。
顺带一提,我辞职了,在工作交接期。
即将退休
(艾斯最近喜欢趁我站在洗手池旁边的时候跳到我背上来,这事儿路飞永远也做不到,路飞是一只连窗台都跳不上去的恐高猫,丢尽了猫科的脸)
下午跟主管领导说了想辞职的事,没有意外的话,最晚一个月后,就小退休了。
大约到明年五月前,过上喂猫跑步写自己想写的代码的好日子。









