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

原文地址 UIWindow in iOS

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

keyWindow

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

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

@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}"
@jkyin
jkyin / iOS Design Patterns.md
Created October 24, 2014 02:10
iOS Design Patterns

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

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

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

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

  • 这个设计模式叫什么。
@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 / Objective-C Style Guide.md
Created September 4, 2014 04:00
Objective-C Style Guide
@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 / 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。
*
* 重置前景色(恢复为默认值):
/*
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