2023年已过去 43.26%
NSTextView 文本的行高    @ 2020-06-13, 15:16
  1. LineHeight:简单地使用 NSParagraphStyle 的 lineHeightMultiple 的情况下,当设置其值为大于 1.0 的时候,文字占据整个增加了行间距的空间的底部,如图:
  2. LineSpacing:使用 NSParagraphStyle 的 lineSpacing 的情况下,当设置其值为大于 0 的时候,文字占据整个增加了行间距的空间的顶部,如图:
  3. BaselineOffset:给 NSAttributedString 增加 NSBaselineOffsetAttributeName 属性,可以使得文字向上或者向下偏移,但同时也会与 LineHeight/LineSpacing 叠加,改变整行的高度。
  4. 实践后的正确方式:将 LineSpacing 与 BaselineOffset 结合。

算法很简单:

  1. 算出目标行高 target_height;
  2. 算出原始行高(1.0 倍 LineHeight,0 LineSpacing) original_height;
  3. 将 target_height 与 original_height 的差值除以 2 后,赋值给 LineSpacing 与 BaselineOffset,也就是将差值一半给 LineSpacing,一半给 BaselineOffset。

效果如图:

农码生涯 | 评论已关闭 | 2,965 次阅读
简短地址:http://ncblog.net/1794/
渐入佳境    @ 2020-05-10, 18:17

上班三个多月了,(开发)工作上渐入佳境。一方面,现在再次开发 iOS 项目自我感觉比 Mera 的时候更精进了一层,有点曾经在使用 Delphi 开发时的那种随心所欲的感觉了;另一方面,同时开始了 macOS 平台的应用开发,也是一件好玩的事情。

macOS 的开发框架与 iOS 的差异,比我之前想象的要大得多。从 UIKit 转换到 AppKit,幸得有不少好的文章,比如这篇,即使是多年前的也难以掩盖其价值。

虽然一直不太喜欢用苹果的产品,比如 iPhone,比如 mac,但我确实还是喜欢在苹果平台上做开发的,Xcode 以及 Objective-c 都是很优秀的工具(嗯,不包括 Swift)。

如今可算是前端当道,JS 就要统治世界一样。但我依然还是只喜欢做原生客户端(包括所谓移动端)开发,因此能做这样的开发工作也可谓求仁得仁了。

农码生涯 | 评论已关闭 | 2,666 次阅读
简短地址:http://ncblog.net/1787/
上班    @ 2020-03-25, 00:45

从2月26日开始,到办公室上班。步行15分钟的路程,毫无压力。这一个月来,渐渐融入了团队,重新适应了上、下班的生活。这是自从离开金山后,第一次不是创业性质的上班工作。

农码生涯 | 2 个评论 | 3,402 次阅读
简短地址:http://ncblog.net/1761/
新年伊始 2    @ 2020-02-16, 02:53

正月已经过了二十多天了,由于疫情,公共的秩序还没能恢复——很少人出门,网购几乎陷于停顿(除了某猫某东的自营超市,卖家一般发不了货),新工作的上班地点暂时又只能在家里。

新工作本来头两个星期应该是和团队磨合、融入的最好时机,但两周下来都只能通过钉钉以及音频会议沟通,很多方面还是感受到距离带来的掣肘而难以施力。

老妈日常需要去医院做的康复治疗,也已经中断近一个月了。目前只能每天在家自行爬楼梯锻炼,慢慢已经可以独自进行。四楼的楼梯每次上下三趟,每次能锻炼到出汗,每天两次。老妈似乎也慢慢适应了目前的状态,易怒的情况稍有改善,生活慢慢趋于平静。

当生活从田野跌入苟且,会想拾起最初的心心念念。

于是决定在今年的业余时间开始学习自己一直觊觎的领域,让自己有所突破——年内啃完这本书并有点小成果。

这个冬天比较漫长,但2020年已过去12.59%。

农码生涯 | 1 个评论 | 3,259 次阅读
简短地址:http://ncblog.net/1753/
半月纷扰的四月    @ 2019-05-02, 14:23

四月下半月老妈得了带状疱疹,疼痛不已。带着老妈求医问诊治疗,分心的时间比较多了,开发进度稍有放缓。
今天凌晨发布了 Inspire v2.25,为下一步做好了准备。

2019年已然过了三分之一,todo list 仍然排得满满。

昨天,第一次一家三口一起进电影院,看了《复联4》。而我上一次进电影院还是十二年前的《变形金刚1》了。

农码生涯 | 2 个评论 | 2,777 次阅读
简短地址:http://ncblog.net/1684/
出坑    @ 2019-03-12, 17:14

没想到竟然泥足深陷一个问题一周,然后前天又突然莫名胃痛了两天。今天一切都好起来了,而且还是个好天气。

农码生涯 | 评论已关闭 | 2,345 次阅读
简短地址:http://ncblog.net/1652/
全面 V 化已然实现    @ 2019-01-25, 03:12

换个角度,世界全然不同~

农码生涯 | 评论已关闭 | 2,536 次阅读
简短地址:http://ncblog.net/1599/
2018 回归    @ 2018-12-31, 15:17

年初曾以为的“重新出发”,最终证明仍然是一小段弯路。幸而只是一小段,幸而即使是弯路,仍然有收获。

随着年岁的增长,如今越来越感到时间的珍贵,其珍稀程度甚至已经超过金钱。折腾多年后回头来看,虽然在各方面多少有些收获,但是否真正做出一些更有意义的事情,成为了越来越重要的衡量标准。也因此,越来越在意是否再走了弯路,如果弯路仍然不可避免——毕竟出发前谁也不知道最终是不是弯路——那么就让其尽可能短,以及让它为未来的正路留下更多有用的东西。

2018这一年,让我见识到了某些人可以将所谓的心理学的一些概念、一些名词如同复读机般反反复复堆砌到你身边,直到你对这些东西产生厌恶。我一直认为,只有那种针对所谓大众心理的研究的心理学,才算得上科学,因为它可以通过实验验证,比如所谓的从众行为。而针对个体的心理研究——诸如将某人成年后的某种行为,归结于其幼儿时期的某个事件留下的阴影——则只能用于个人的自省,或者心理患者主动寻求医师协助时。这种不可证伪的东西,往往就是玄学。而在生活、工作中随便将某种所谓效应套用到他人身上,去分析他人的某种行为习惯,是极其无礼和傻X的行为。

事实也是如此,热衷于说别人不接纳反馈的,恰恰自己就是那个完全听不进身边所有人的反馈的人;热衷于说别人归因谬误的人,恰恰自己就是那个体现归因谬误概念的最佳典范;热衷于劝别人自我接纳的人,恰恰自己最不能接纳他自己;自我标榜光明磊落的人,恰恰所行之事狗血不堪……

人,年少时真的应该多读书,成年后多增长见识。而不是年少不读书,成年后读到一些东西才如获至宝但见识却跟不上,看字面理解刻板乃至死板,肤浅乃至曲解,还要催人读书,徒增笑耳。

2018这一年,有幸和一些优秀的90后一起工作过,乃至在其中寻找到新的合伙人,算是弯路中不小的收获。

2018这一年,所做的项目,AT/VA 已经应发起人和主导者的要求(我仅技术参股),终止了;自己兴趣使然的项目 Project V,工作得很好,如同昨晚某小弟的评论:

2018的最后两个月,开启了回归之路——回归由自己来主导项目、回归最适合自己的生活和工作方式、回归自己的内心、回归自己的节奏……

新年里,把产品做好,把项目推进好,希望可以让自己以及合伙人在正路上向前走得更从容~~

农码生涯 | 评论已关闭 | 2,580 次阅读
简短地址:http://ncblog.net/1550/
大侠,请重新来过吧    @ 2018-11-06, 01:42

过了12点,就40周岁了。

去年此时,人在深圳,以顾问身份认识了一群优秀的年轻人,那是近一年来的工作重心的起点。彼时,我说四十不惑,是能越来越坦然面对所有的遗憾。在一年后的此刻,我说四十不惑,是之所以能越来越坦然面对所有的遗憾,是因为明白所有遗憾是对自己追求的和选择的,所必须付出的代价。

一直以来,我是一个兴趣驱动的人,事业上一直任性地做着自己喜欢和想做的事情,无论是大学毕业时选择金山毒霸,还是后来投身共享软件开发成为 micro ISV,还是后来连续地创业。兴趣驱动时,即使面对巨大压力,也会甘之如饴,反之则会感到无所适从与煎熬。

长颈说:我是想不明白,为什么赚钱一定要和爱好捆绑在一起。
我说:我也想不明白,为什么赚钱一定要和爱好分开。

我明白,这其实没有对错,只是每个人有不同的选择。是的,世人大多把赚钱与爱好分得很彻底,他们也未必不快乐,毕竟可能大多数人赚钱了就快乐了。可惜我知道了自己做不到。我明白他们,但他们不明白我,不明白兴趣驱动的人,对想做和喜欢做的事情的执着,竟然会超过赚钱的欲望。我不愿意融入这个世俗构筑的主流秩序——爱好是爱好,职业是职业。由此一直游离于主流秩序的边缘,但我很快乐,甚至感到自己是真实自由的。

在40周岁来临的时候,这个月开始,我选择回归自由,做自己喜欢做的事情——重新成为 micro ISV——已然梦回2005。是的,花了十年,绕了一大圈,终于还是决定回归最适合自己的生活和工作方式,和某新合伙人。

此时想对深圳的那群优秀的年轻人们说一声“感谢”,是你们让我知道我依然年轻,这一年有你们,真好,离开你们,不舍。

大侠,请重新来过吧”,这句曾频繁出现在20年前玩仙剑时的屏幕上的话,这句5年前表格给我留下的评论,正是现在我想对自己说的。毕竟,依然年轻。

农码生涯 | 7 个评论 | 3,500 次阅读
简短地址:http://ncblog.net/1498/
慢生活    @ 2018-09-03, 14:06

又到 9月开学季,可乐初中入学了,也意味着夏天渐渐就快要结束,而后就是上海最舒服的秋天了。去年秋天去深圳 6周做顾问,开启了一段新的里程,转眼已快满一年,时间的流逝速度真的很吓人。

从 2009年细选网开始到 2016年 mera 失败,创业 8年多后,从去年开始,喜欢上了另外一种生活,不同于创业时总是马不停蹄、不知停歇,一种从容自若的慢生活。当然,有时候从容只是表面的,毕竟生活的经济上的压力还是存在的。很惭愧创业 8年多并没有实现财务自由,同时也错过了中国程序员参与互联网公司实现财务自由的可能性最大的黄金十年(2005-2015),甚至因为连续失败的创业而导致家庭收入入不敷出,创业期间的工资是很少的。但那种总是被“速度”逼着往前冲的担子卸下了,可以放慢脚步下来或者驻足停歇一下,却是实在的。

今年年初加入了长颈的公司,然后就开始了在深圳2周,在上海4周的循环日常,被朋友调侃为做2休4。其实在上海期间,肯定也是需要工作的,保持在线,参与公司技术方面的决策、与小弟们保持沟通主持一些工作以及自己维护的项目。

今年自己发起和维护的项目,除了为长颈个人做的 VA 之外,一个是 Project V,一个是 Inspire Writer。Project V 出于兴趣和实际需要,五月开始开发,六月底七月开始公司内小范围测试部署,八月已经全公司部署使用,代码量不多,目前为止运行完美。Inspire Writer 是去年开始的项目,去年7月发布后,改动不多,断断续续打一些小补丁。今年决心为它做更大程度的完善——支持通过云存储服务(比如 Dropbox)进行云同步,毕竟已经 2018年了,云同步已然成为了软件的标配。

这些项目的开发,都是在不紧不慢的步调中慢慢打磨,一部分出于自己兴趣,一部分出于自身实际需要,这样两者结合的驱动开发,是我作为程序员这个角色时所向往的。对于 Inspire Writer,我现在的想法就是将它细致打磨成一个精品,我相信慢慢会被很多人接受和认可的,即使可能需求是相对小众的。我相信,好产品是慢慢打磨出来的,我也喜欢以这样的方式去做自己想做的事情,不再急功近利,被时间逼着往前冲。

前几天看到一篇文章,标题是《创业之前,请忘掉你那该死的“完美主义”》,或许商业现实确实如此,但如今的我已经不愿意再以这样的方式来创业、做产品了。倒不是说这样做出的产品一定不好,只是我不再愿意这样了。

前些年创业时我的梦想是做出“成功”的产品,去纳斯达克敲钟实现暴富。经过最近这一年多的慢生活,我的梦想已经变成了,有一个房子,在家陪着老婆,每天写写代码、打扫卫生……

农码生涯 | 3 个评论 | 3,377 次阅读
简短地址:http://ncblog.net/1458/