1. iOS 8下简单,可交互式的通知

    本文翻译自:Simple, interactive notifications in iOS 8在iOS 8 中新添加了一个API用来创建可交互式的通知。这些API允许你向在应用外的用户提供额外的功能。我发现网络上缺少清晰的例子,所以我认为我应该写一篇文章来向你展示如何简单地实现这个功能。下面是一个例子。让我们开始吧,在iOS 8中有三个新的类是必须的: UIUserNotificationSettings, UIUserNotificationCategory, UIUserNoti...…

    iOS继续阅读

  2. 在 OS X 上构建和运行 .Net 的 CoreCLR

    本文翻译自:Building and Running .NET’s CoreCLR on OS X没错,你没听错,微软已经开源了.Net 核心的完整运行时实现 CLR,而它不仅仅可以运行在Windows 上。他们不是随便地转储一堆ZIP文件到一个FTP服务器上,而是给我们提供了一个功能齐全,易于编译,容易托管在所有人喜欢的文件共享介质上的东西。微软甚至走得更远,在GitHub上设置了双向镜像,这样他们的内部系统会与我们看到的保持同步。这种行为给我留下了深刻的印象。他们最初的版本适用于W...…

    iOS继续阅读

  3. 设计模式:策略模式

    本文翻译自Design Patterns: The Strategy Pattern目前为止我们已经在这个系列中接触了三个设计模式。我们定义了4种类型的设计模式。在这篇文章中,我将讲解 策略模式,这是属于行为类别的设计模式的。你可能会有一个疑问:我们什么时候该使用这个模式呢?当我们有不同的方式(算法)来执行同样的操作,而我们希望应用可以根据传入的参数来选择合适的方式去执行。一个非常简单的例子就是排序。例如,我们有不同的算法来排序数组元素,但是需要根据数组中元素的个数来选择性能最好的算法...…

    设计模式继续阅读

  4. 用Swift创建一个自定义-可调整的控件

    本文翻译自:HOW TO BUILD A CUSTOM (AND “DESIGNABLE”) CONTROL IN SWIFT大约两年前我写了一篇关于如何在iOS里创建自定义控件的教程。那篇教程在开发者社区中非常受欢迎,所以我决定用Swift语言来更新它,同时添加 designale/inspectable 属性的支持,以便直接通过Interface Builder来设计这个控件。在我们开始教程之前,让我们看一下最终的效果:开始吧!不管是你自己设计用户界面还是有设计师帮你,UIKit提...…

    iOS继续阅读

  5. iOS7状态栏上有趣的渐变遮罩

    本文翻译自:Fun with gradient masks and the iOS 7 status bar在iOS 7以前,设计师和开发者实际上并没有太多考虑到状态栏。它是存在于我们应用的框架frame之外的,而且仅仅占用了22像素高的空间。现在,一切都改变了。这个新的状态栏是在我们应用内的,我们作为应用制作者必须想出一种新的,有趣的方式来处理它。如果你曾经制作过一个有滚动内容的app,那么在某些滚动位置,你可能需要处理下面的情况:这好像不行,状态栏文本扰乱了我们的内容。有很多种方式...…

    iOS继续阅读

  6. UICollectionView 实现专辑封面视差滚动

    本文翻译自:Parallax scrolling album covers with UICollectionView视差效果现在风靡一时,iOS7上更是使用了很多。在新的音乐App中,在iTunes Radio中,都有一种我非常喜欢的特别的视差效果。滚动的专辑封面栈。实现这个效果似乎是一个非常有趣的挑战,今天我将向你展示如何创建这个效果。当然,我们使用的是UICollectionView。下面是最终的效果。在我开始写代码之前,我想先解释一下我的方法。我们将创建一个UICollecti...…

    iOS继续阅读

  7. 有弹性,可伸展的UICollectionView 头部视图

    本文翻译自:Stretchy UICollectionView headers滚动视图的反弹效果可能是iOS中最具特色的效果之一。虽然最初只是华而不实,但随着时间的推移,实际上它已经发挥了一些功能用途,像下拉刷新。另一个很好地应用滚动视图的反弹效果的,就是我最近看到的弹性头部视图。这个效果非常好,当你向下拉动滚动视图时,可以在顶部和底部查看更多的图片内容。你可能已经在Twitter的iOS应用和Airbnb清单中看到类似的效果了。这种效果很容易实现,今天我将向您展示如何去做。让我们开始...…

    iOS继续阅读

  8. SSH 管道 - 使用SSH进行端口转发

    本文翻译自:SSH Tunnel – Port Forwarding With SSHSSH 有很多功能,SSH 管道就是其中一个。SSH管道是两台机器间的安全连接,经常被称为“SSH隧道”,或者“端口转发”。使用SSH,我们可以绑定本地计算机的指定端口到远程计算机上的指定端口。这将在这些机器之间创建加密的SSH 管道,并允许通过本地主机套接字地址直接与远程主机通信。我们可以使用SSH管道来保护不安全的连接或绕过防火墙的不同限制。在我们创建我们的第一个SSH管道之前,你可以在你机器上的...…

    Linux继续阅读

  9. Radare - 逆向工程框架

    本文翻译自:Radare – The Reverse Engineering FrameworkRadare开始作为一个简单的命令行界面的十六进制编辑器,支持64位偏移量以从磁盘中搜索和恢复数据。它已演变成由一个以十六进制编辑器为中心所组成的项目,包括组装/分解器,代码分析,脚本功能,分析和图形化代码与数据,并容易与unix集成。从本质上讲,它已经成为一个逆向工程框架,插件等等。radare2本身就是这个十六进制编辑器和调试器的核心。允许从不同的IO访问,如磁盘,网络,内核插件,远程设...…

    逆向工程继续阅读

  10. Objective-C 宏定义的收集

    本文翻译自:Collection of Objective-C Macros下面你将看到一些关于Objective-C 宏定义的收集,你也可以把你收集的回复给我(谢谢你!)// 度数 转为 弧度#define degreesToRadians(x) (M_PI * x / 180.0)// 使定时器失效#define UA_invalidateTimer(t) [t invalidate]; t = nil;// 设备信息#define UA_isIPad (UI_USER_INT...…

    iOS继续阅读