Skip to content

Instantly share code, notes, and snippets.

View jkyin's full-sized avatar
💭
I may be slow to respond.

Jack Yin jkyin

💭
I may be slow to respond.
View GitHub Profile
/*
Theme Name: StanleyWP
Theme URI: http://gentsthemes.com
Description: Responsive WordPress theme with all the Twitter Bootstrap elements and features.
Author: Brad Williams & Carlos Alvarez & Carlos Alvarez
Author URI: http://gentsthemes.com
Version: 3.0.3
Tags: white, black, gray, light, custom-menu, custom-header, custom-background, one-column, two-columns, left-sidebar, right-sidebar, flexible-width, theme-options, threaded-comments, full-width-template, sticky-post, translation-ready, bootstrap, twitter
@jkyin
jkyin / XcodeColor.pch
Last active February 23, 2016 13:22
格式化控制台输出颜色
/*
* 如何应用色彩格式化你的日志语句:
*
* 设置前景色:
* 插入 ESCAPE 到你的字符串,紧跟着 "fg124,12,255;" 这里表示 r=124, g=12, b=255。
*
* 设置背景色:
* 插入 ESCAPE 到你的字符串,紧跟着 "fg124,12,255;" 这里表示 r=12, g=24, b=36。
*
* 重置前景色(恢复为默认值):
@jkyin
jkyin / DismissKeyboard.m
Created August 30, 2014 07:50
UIWebView dismiss keyboard
// implement <UIGestureRecognizerDelegate>
{
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.numberOfTouchesRequired = 1;
tapRecognizer.delegate = self;
[self.webView addGestureRecognizer:tapRecognizer];
}
@jkyin
jkyin / Objective-C Style Guide.md
Created September 4, 2014 04:00
Objective-C Style Guide
@jkyin
jkyin / UIKeyboardNotifications.m
Created September 22, 2014 09:39
Facebook SDK dismiss keyboard implemention
///////////////////////////////////////////////////////////////////////////////////////////////////
// UIKeyboardNotifications
BOOL _showingKeyboard;
static CGFloat kPadding = 0;
static CGFloat kBorderWidth = 10;
static BOOL FBIsDeviceIPad() {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
@jkyin
jkyin / iOS Design Patterns.md
Created October 24, 2014 02:10
iOS Design Patterns

iOS 设计模式 - 你可能很早就听过这个术语,但你知道它的具体含义吗?大部分开发者可能都认为设计模式非常重要,然而关于此主题的文章少之又少并且我们开发者在写代码时很少关注设计模式。

设计模式是指一些能够在软件设计的过程中解决常见问题的同时能够重复使用的解决方案。它们是一套设计好了的模版,旨在帮助你写代码时非常容易的理解和复用。它们还能帮你创建松耦合代码,如此一来你就能够不付吹灰之力地修改或替换代码中的模块。

如果你刚了解设计模式,那我正好有一些对你有用的消息!首先,你早就用过许多 iOS 设计模式,这要感谢 Cocoa 的构建方式并且最好的学习方式就是不停的使用它们。第二,本教程会让你了解 Cocoa 中用到的所有主要常见的 iOS 设计模式。

本教程分为好几个部分,一个设计模式为一个部分。在每部分中,你会看到以下这些说明:

  • 这个设计模式叫什么。
@jkyin
jkyin / xcode_project_build.sh
Created October 30, 2014 08:28
Automatically increment Xcode build number
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"

原文地址 UIWindow in iOS

在这篇文章里,我将要分享一些我对于 UIWindow 的了解。

keyWindow

一个 app 可以有许多个 UIWindow。key window 是指定的被用来接收键盘和其他非触摸事件。在一个时刻内只有一个窗口的话那很可能就是 key window。

你可以调用 makeKeyAndVisiblemakeKeyWindow 方法来使一个 UIWindow 成为 keyWindow。注意,UIWindow 默认是隐藏的,因此 makeKeyAndVisible 不仅能够让一个 UIWindow 成为 keyWindow 还可会同时设置它的 hidden 属性为 NO

原文地址

上一篇教程里,你学到了如何创建一个可复用的按钮控件。然而,对于开发者如何简单方便地来复用的话效果还不是非常明显。

一种共享它的方式就是直接提供源码文件。然而,这不是特别优雅。有可能你不想共享代码的实现细节。此外,开发者可能不想看见所有的东西,因为它们只是想继承一部分代码到自己的代码库里。

另一种方式是把你的代码编译成静态库来让开发者添加到他们的项目中去。然而这要求你来提供公共头文件,这样显得非常的笨拙。

你需要有一种简洁的方式来编译你的代码,并且它还要方便的共享和在多个项目间复用。你需要用什么方式来打包静态库并且它的头文件在一个文件里,然后只需要把这个文件添加到工程里就能立即开始使用。

从 Xcode 6 开始,Apple 开始在标准架构中弃用 armv7s 架构,具体差异请看下图。

Xcode 5.1.1:

Xcode 6.1:

armv7s 架构指的是用于 iPhone 5 和 5C 等这些设备上的 A6 处理器。