2012年2月24日 星期五

2012年2月23日 星期四

[iOS Dev] 點擊狀態列捲軸往上問題 Tap statusbar scroll to top doesn't work

我有一個UITableView結果發現scroll到下面時

竟然無法點statusbar自動捲到最上面

後來發現是因為我的UITableViewCell裡有UIWebView, 所以action被搶走了

所以只要把UIWebView的scroll to top關掉, 就可以避免這個問題

Code (iOS5):
webView.scrollView.scrollsToTop = NO; 

2012年2月17日 星期五

[iOS Dev] 更改UIKeyboard的底色為黑色

    [inputTextView becomeFirstResponder];
    [inputTextView setKeyboardAppearance:UIKeyboardAppearanceAlert];


原本的Default


更改keyboardAppearance 為 UIKeyboardAppearanceAlert

2012年2月7日 星期二

[iOS Dev] Parse query string into dictionary

- (NSDictionary *)parseQueryString:(NSString *)query {
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:6];
NSArray *pairs = [query componentsSeparatedByString:@"&"];
for (NSString *pair in pairs) {
NSArray *elements = [pair componentsSeparatedByString:@"="];
NSString *key = [[elements objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *val = [[elements objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[dict setObject:val forKey:key];
}
return dict;
}
Usage:
NSString *qs = @"username=hank&age=27&blog=whhnote.blogspot.com";
NSDictionary *queryParams = [self parseQueryString:qs];
NSLog(@"%@", queryParams);
NSLog(@"%@", [queryParams objectForKey:@"username"]); // get username from dict
So, you will get a dictionary look like
{
    age = 27;
    blog = "whhnote.blogspot.com";
    username = hank;
}

2012年2月1日 星期三

[Xcode] 設定預設文件開頭的 Organization

原本預設是 ___MyCompanyName___, 這樣新增檔案都要改一次

在Ternimal直接下此指令更改預設值
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME="Hank's Company";}'

之後就不用改了

[iOS Dev] NSUserDefaults Save/Read/Clear 儲存/讀取/清除 速記

// 定義名稱 define key
#define kIsActive @"isActive"
#define kUserName @"userName"
// 讀取資料
-(void)loadInfo {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"Name : %@", [defaults stringForKey:kUserName]);
NSLog(@"isActive : %@", ([defaults boolForKey:kIsActive] ? @"YES" : @"NO"));
}
// 儲存資料
-(void)saveInfo {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *userName = @"Hank";
BOOL isActive = YES;
[defaults setObject:userName forKey:kUserName];
[defaults setBool:isActive forKey:kIsActive];
}
// 清除資料
-(void)clearInfo {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:kUserName];
[defaults removeObjectForKey:kIsActive];
}
// 執行
- (void)viewDidLoad
{
[super viewDidLoad];
[self saveInfo];
[self loadInfo];
[self clearInfo];
[self loadInfo];
}
參考: NSUserDefaults Class Reference
Related Posts Plugin for WordPress, Blogger...