一点积累

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/

你可能感兴趣的:(一点积累)