1,如果用下面代码出现一个模态ui,这个模态ui中有UITextField或UITextView的成员,那么会出现keyboard, 如果发送resignFirstrRsponder键盘是不会消失的。
UINavigationController *nv = [[UINavigationController alloc] initWithRootViewController:searchVC];
nv.modalPresentationStyle = UIModalPresentationFormSheet;[self presentModalViewController:nv animated:YES];
UINavigationController必须用Category的方法实现如下方法,才可以让键盘消失
@interface UINavigationController (DismissKeyboard)
- (BOOL)disablesAutomaticKeyboardDismissal;
@end
@implementation UINavigationController (DismissKeyboard)
- (BOOL)disablesAutomaticKeyboardDismissal
{
returnNO;
}
@end
2,有关tableview
不要在- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath方法中调用
- (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell,会引起循环调用。
3,系统在做动画的时候尽量不要对UIWindow的subview进行操作。在pushViewController:vc的时候,在vc的viewDidLoad中对HUD进行了show/hide/show 操作,结果HUD不显示。
4,SDWebImage是默认支持gif图片的,但是非常耗内存。今天介绍用FLAnimatedImage这第三方库来加载并显示gif图片
用法很简单,看它的github
要去掉SDWebImage对gif的支持,屏蔽UIImage+MultiFormat.m中一行代码, 如图:
然后就直接用FLAnimatedImage吧。它渲染效率高。