1.在更新懒加载之类的插件时 会经常遇到更新插件失效的问题,解决办法
:(1) 打开终端,输入defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID 获取DVTPlugInCompatibilityUUID
(2)进入路径 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins ,选择失效的插件,右键 显示包内容,plist 文件中配置(1)中的获取的UUID
感谢作者: http://www.jianshu.com/p/92425b8e164e/comments/1053697
2.textview/textField 等输入框的问题
(1)实时监测输入框文字时 ,个人多采用 通知
#define LXNotificationCenter [NSNotificationCenter defaultCenter]
[LXNotificationCenter addObserver:self selector:@selector(textDidChange:) name:UITextViewTextDidChangeNotification object:self.textView];
3. 输入框的键盘处理
[LXNotificationCenter addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
观察键盘frame改变的 的通知能实时监测键盘切换中英文切换等等,而不用再去监测键盘弹出显示隐藏UIKeyboardWillShowNotification
UIKeyboardWillHideNotification,能较准确地监测键盘弹出高度
- (void)keyboardWillChangeFrame:(NSNotification *)notification
{
NSDictionary *userInfo = notification.userInfo;
// 动画的持续时间
double duration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
// 键盘的frame
CGRect keyboardF = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
// 执行动画
[UIView animateWithDuration:duration animations:^{
// 工具条的Y值 == 键盘的Y值 - 工具条的高度
NSLog(@"%f",self.view.height);
NSLog(@"%f",keyboardF.origin.y);
if (keyboardF.origin.y >= self.view.height) {
self.keyboard.y = self.view.height- self.keyboard.height;
}else
{
self.keyboard.y = keyboardF.origin.y - self.keyboard.height;
}
}];
}
4.借助textfiled的 完成搜索
之前有个需求,在Navbar上放置textfield时 ,点击键盘return 跳转界面时 ,会出现多次pop的现象,至今也没太明白,看微信处理的是 点击return收回了键盘,为了防止出现多次pop push,自定义个Navbar,不会出现多次push的效果,也不会有残影,searchbar放置在Navbar上也会出现这个效果
5.加载网页那些事
UILabel UItextvew UIWebview 都可以加载HTML ,
UIlabel UItextview 都是通过NSAttributedString
加载网页,
性字符串来接收html数据NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:nil error:nil];//给textView赋值的时候就得用attributedText来赋了textV.attributedText =attributedString;
webView则可以直接加载
1、直接给出url地址即可将web content载入。
NSString *path= @"http://theo2life.com";
NSURL *url= [[NSURL alloc] initWithString:path];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
2、将本地html文件内容嵌入webView
NSString *resourcePath= [ [NSBundle mainBundle] resourcePath];
NSString *filePath= [resourcePath stringByAppendingPathComponent:@"test.html"];
NSString *htmlstring=[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];
计算记载网页之后的textview webView内容高度,不同的是textview加载网页之后就可以通过textview的contentofsize计算内容高度,但是对于有图片的网页需要做图片处理,webView在代理方法didload 方法里可以直接通过webView的scrollview的contentofsize计算内容高度
6.IOS 字符串中去除特殊符号
http://blog.csdn.net/chenyong05314/article/details/8721380
7.ios获取设备信息总结
http://blog.csdn.net/decajes/article/details/41807977
8. 计算textview的内容高度
CGSize constraintSize;
constraintSize.width = 300;
constraintSize.height = MAXFLOAT;
CGSize sizeFrame =[textContent sizeWithFont:textView.font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
textView.frame = CGRectMake(0,0,sizeFrame.width,sizeFrame.height);
网上贴的代码 还没亲测
9. 项目中用的转码
http://blog.sina.com.cn/s/blog_735aa4ab01014z3y.html
10.站长工具
http://tool.chinaz.com/tools/unicode.aspx
11 在线解析及格式化验证
http://json.cn/