1、用正則表達式使UITextField接受規定的值只能輸入非零開頭的正整數用下面的代碼
- - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:
- (NSRange)range replacementString:(NSString *)string{
- NSString *result = [textField.text stringByReplacingCharactersInRange:range withString:string];
- if ([result length] == 0) return YES;
- // Allow delete all character which are entered.
- NSString *regex = @"^[0-9]*[1-9][0-9]*$";
- NSPredicate *prd = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
- return [prd evaluateWithObject:result];
2、UITableView設置背景爲透明時遇到的問題 UITableView設置背景顏色爲clearColor,設置類型爲Grouped。這裏每個Group的四個角會有黑的。解決辦法:
在viewDidLoad中寫入:
- TableView.backgroundView = nil;
- TableView.backgroundColor = [UIColor clearColor];
- TableView.opaque = NO;
UITextField中顯示錶情 表情列表: http://pukupi.com/post/1964
比如微笑是:
- 
- label.text = @"\ue415";
效果如下:
編譯發佈版本的時候移除NSLog輸出的方法
只需要加入到pch文件中即可,__OPTIMIZE__這個編譯選項是發佈版本纔有的,所以在編譯調試版本的時候可以看到Log,而發佈版本則沒有Log。
- #ifndef __OPTIMIZE__#define NSLog(...) NSLog(__VA_ARGS__)#else#define NSLog(...) {}
- #endif
3、NSPredicate筆記
- NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF like[c] %@", @"aa*bb"];
其中:SELF大小寫都行。
aa*bb使用了通配符,*號只能寫在變量中,而不能這樣
- @"SELF like[c] %@*%@", @"aa", @"bb"
字符串本來是要用引號括起來的,不過這裏不用加,NSPredicate會自動加。
測試布爾值
- NSPredicate *p = [NSPredicate predicateWithFormat:@"self == NO"];
- BOOL b1 = [p1 evaluateWithObject:[NSNumber numberWithBool:NO]];
- NSPredicate *p2 = [NSPredicate predicateWithFormat:@"self == %@",
- [NSNumber numberWithBool:NO]];
- BOOL b2 = [p2 evaluateWithObject:[NSNumber numberWithBool:NO]];
4、動態屬性名
下面這種NSPredicate
- NSPredicate *p = [NSPredicate predicateWithFormat:@"name = %@", @"Jimmy"];
有時候我們可能想讓name這個關鍵字,也變成變量,寫在外面,那樣就可以寫一個更通用的NSPredicate了。於是很自然地想到了下面的代碼:
- NSString *key = @"name";
- NSString *value = @"Jimmy";
- NSPredicate *p = [NSPredicate predicateWithFormat:@"%@ = %@", key, value];
這樣,如果在執行到第三句之前,我們可以改變key和value的值,讓其更通用。想法是好的,但是這樣是錯的,前面說過,NSPredicate要自動添加引號,所以最後得到的格式應該是@"'name' = 'Jimmy'"。明顯不對。要做的就是:
- NSString *key = @"name";
- NSString *value = @"Jimmy";
- NSPredicate *p = [NSPredicate predicateWithFormat:@"%K = %@", key, value];
- 4
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],NSForegroundColorAttributeName,[UIFont fontWithName:@"SnellRoundhand-Bold" size:13],NSFontAttributeName ,nil];
[segment setTitleTextAttributes:dic forState:UIControlStateSelected];