0%

原文链接

近期在Mac项目中有一个处理鼠标拖拽事件的需求, 大致处理流程是这样的:

  1. 从 NSView 继承得到一个子类
  2. 覆盖处理拖拽事件相关方法
  3. 注册拖拽事件
阅读全文 »

原文链接

七牛云是个很好用的图床,但是 Mac 下并没有什么很好用的客户端,每次上传都需要在网页上手动一个个传文件,十分麻烦,于是仔细看了下七牛云的部分文档,打算使用QRSBox来自动上传图片.

阅读全文 »

原文链接

最近在看ios programming - the big nerd ranch guide 这本书,其中第24章介绍了如何使用系统接口来实现 State Restoration. 示例部分介绍的是如何针对 UINavigationController 来进行保存和还原状态, 然后额外的练习题部分是 UITabbarController 的状态保存和恢复,可是在这里却一直遇到问题, 导致程序返回时UITabbarController始终无法还原状态,本文记录下如何使用State Restoration和UITabbarController所需的额外处理。

阅读全文 »

原文链接

AVCaptureSession阻塞主线程问题

前阵子程序中出现了一个奇怪的 bug,在 iOS 系统上,页面弹出的时候会卡很久,相机始终黑屏,大概6-7秒钟,跟踪具体每个步骤花费时间的时候发现在viewWillDisappear:中开销最大,这其中只调用了一个相机关闭的代码:

1
2
3
if ([[self.avCameraManager session] isRunning]) {
[[self.avCameraManager session] stopRunning];
}

仔细看了文档之后,发现问题出在 stopRunning这里,

阅读全文 »

原文链接

最近项目中有一个需求是需要手动点击相机对焦,这里由于相机对焦部分需要一个类似于系统对焦框一样的缩放动画,同时动画时长为0.3秒,因此这里就有一个很普遍的需求,如果用户在0.3秒内继续点击对焦会怎么样?

动画部分代码很简单,如下:

1
2
3
4
5
6
7
8
9
10
self.transform = CGAffineTransformMakeScale(2.0f, 2.0f);
[UIView animateWithDuration:0.3f delay:0.0f options:UIViewAnimationOptionCurveLinear
animations:^{
self.transform = CGAffineTransformIdentity;
}
completion:^(BOOL finished){
if (finished) {
[self hideFocus];
}
}];

对焦框在0.3秒内进行两倍缩小到正常尺寸的一个动画,之后隐藏。

阅读全文 »

原文链接

Xmarks简介

Xmarks 是一款浏览器书签同步工具,它可以实现不同设备,不同浏览器之间的书签同步,并且是免费的。

有人会说,我们为什么需要一款专门的书签同步工具呢?Safari 自带的 iCloud 书签同步,Chrome 自带的同步设置不都是挺好用的吗? 我个人选择 Xmarks 的原因是,经常需要在 Mac 机器和 Windows 机器之间进行切换,Safari 当然是挺好用的,但是 Windows 下没得用,切换到 Windows 机器只能选择使用 Chrome 或者 Firefox, 就存在书签同步的需求了。当然你也可以说每个平台都是用 Firefox 或者 Chrome 即可,但就我个人而言,这两款浏览器在 Mac 下的便捷性目前看来还是比不上 Safari 的。

阅读全文 »