IOS开发基础知识--碎片36
1:tabBarController跳转到另一个一级页面
当我们用tabBarController时,若已经到其中一个TabBar的子页,又要跳转到某一个一级的页面时,可以这样写
//这样就可以避免跳回来时又定位到子页过去 导致底部会有空白
[self.navigationController popToRootViewControllerAnimated:NO];
((AppDelegate *)AppDelegateInstance).tabBarController.selectedIndex = ;
2:podfile配置文件一些知识:
a:常用的版本管理 >= version 要求版本大于或者等于version,当有新版本时,都会更新至最新版本 < version 要求版本小于version,当超过version版本后,都不会再更新 <= version 要求版本小于或者等于version,当超过version版本后,都不会再更新 ~> version 比如上面说明的version=1.1.0时,范围在[1.1., 2.0.)。注意2..0是开区间,也就是不包括2.0.0。 b:使用本地库 pod 'AFNetworking', :path => '~/Documents/AFNetworking’ c:通过仓库引入 使用仓库的master(主干):pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git' 而是使用指定的分支: pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :branch => ‘dev' 使用指定的tag pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => ‘0.7.' 使用指定的提交版本: pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit =>’082f8319af'
3:UIWebView获取Html的标题给APP
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
titleLabel.text = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}
4:富文本计算它的高度
//文字
UILabel *dataLabel = [[UILabel alloc] init];
dataLabel.backgroundColor = [UIColor orangeColor];
dataLabel.text = @"我是文字文字文字文字文字文字文字文字文字文字文字11111111111111111111111111111111111";
dataLabel.textColor = [UIColor redColor];
dataLabel.font = [UIFont fontWithName:@"Arial" size:];
dataLabel.numberOfLines = ;
[self.view addSubview:dataLabel]; //富文本设置文字行间距
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
paragraphStyle.lineSpacing = ; NSDictionary *attributes = @{ NSFontAttributeName:[UIFont systemFontOfSize:], NSParagraphStyleAttributeName:paragraphStyle};
dataLabel.attributedText = [[NSAttributedString alloc]initWithString:dataLabel.text attributes:attributes]; //获取设置文本间距以后的高度
CGRect fram = [dataLabel.attributedText boundingRectWithSize:CGSizeMake(, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil]; dataLabel.frame=CGRectMake(, , , fram.size.height);
5:IQKeyboardManager 使用小结
)支持设备方向。
)启用/禁用键盘消息时,需要设置 enable 的布尔值。
)简单的集成。
)作为一个textField/textView的AutoHandle UIToolbar需要设置 enableAutoToolbar 的布尔值。
)可以由父视图AutoHandle UIToolbar或textField/textView,使用toolbarManageBehaviour枚举。
)方便地添加上下和完成按钮键盘UIToolbar UIView类,自动使用enableAutoToolbar布尔值。
)启用/禁用,下/上一个按钮类的方法,自动使用enableAutoToolbar布尔值。
)键盘设置距离文本框使用keyboardDistanceFromTextField。
)键盘触摸外面用shouldResignOnTouchOutside. 禁用。
)管理的框架时,UITextView高度太大,使用canAdjustTextView 设置适合屏幕。
)适用在UITableView/UIScrollView 中的UITextField/UITextView
)可以输入声音在点击“下/上一页/完成”时。 a:可以在AppDelegate里面进行统一设计(这边把它全局关掉) IQKeyboardManager *manager = [IQKeyboardManager sharedManager]; manager.enable = NO; manager.shouldResignOnTouchOutside = YES; manager.shouldToolbarUsesTextFieldTintColor = YES; manager.enableAutoToolbar = NO; b:为某一个ViewController禁用IQKeyboardManager(如果要启用就相反操作) #import “IQKeyboardManager.h"
@implementationExampleViewController { BOOL _wasKeyboardManagerEnabled; } -(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
_wasKeyboardManagerEnabled = [[IQKeyboardManager sharedManager] isEnabled];
[[IQKeyboardManager sharedManager] setEnable:NO];
} -(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[IQKeyboardManager sharedManager] setEnable:_wasKeyboardManagerEnabled]; }
@end c:键盘的回车键处理 )创建一个实例变量实例化IQKeyboardReturnKeyHandler 在 ViewController 的 viewDidLoad 中 @implementationViewController { IQKeyboardReturnKeyHandler *returnKeyHandler;
} - (void)viewDidLoad
{
[super viewDidLoad]; returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];
}
改变键盘上的返回键。 设置实例变量为零的dealloc方法 -(void)dealloc {
returnKeyHandler = nil;
} d:UIToolbar(IQToolbar) )如果你不想添加一个特定的自动工具栏在键盘上方,应该添加一个类作为它的工具栏 textField.inputAccessoryView = [[UIView alloc] init];
6:出现状态栏重复问题
检查工程中是否有引入的UIViewController+ScrollingStatusBar.h 会导致上拉时,状态栏出现多个;
7:ios app编译报User interaction is not allowed错误的解决办法
ios app的编译最关键的就是证书及密钥,但是有很多时候就算你更新了证书密钥,依旧是编译报User interaction is not allowed错误。解决办法就是把证书的访问控制改为“允许所以应用程序访问此项目”

解决办法:



IOS开发基础知识--碎片36的更多相关文章
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- IOS开发基础知识--碎片33
1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...
- IOS开发基础知识--碎片42
1:报thread 1:exc_bad_access(code=1,address=0x70********) 闪退 这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象( ...
- IOS开发基础知识--碎片50
1:Masonry 2个或2个以上的控件等间隔排序 /** * 多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值 * * @param axisType 轴线方向 * @param fi ...
- IOS开发基础知识--碎片3
十二:判断设备 //设备名称 return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备 return [UIDevice cur ...
- IOS开发基础知识--碎片11
1:AFNetwork判断网络状态 #import “AFNetworkActivityIndicatorManager.h" - (BOOL)application:(UIApplicat ...
- IOS开发基础知识--碎片14
1:ZIP文件压缩跟解压,使用ZipArchive 创建/添加一个zip包 ZipArchive* zipFile = [[ZipArchive alloc] init]; //次数得zipfilen ...
- IOS开发基础知识--碎片16
1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOO ...
- IOS开发基础知识--碎片19
1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // 键盘显示完成后 UIKeyboar ...
随机推荐
- 拨乱反正:DDD 回归具体的业务场景,Domain Model 再再重新设计
首先,把最真挚的情感送与梅西,加油! 写在前面 阅读目录: 重申业务场景 Domain Model 设计 后记 上一篇<设计窘境:来自 Repository 的一丝线索,Domain Model ...
- php上传功能集后缀名判断和随机命名
form.php <html> <head> <meta http-equiv="content-type" content="text/h ...
- ios使用jspatch中需要注意的事项
第一份代码,为了纠正原代码不显示29号的bug,先上代码 require('NSString','MCDatePickType','NSMutableArray','UIButton'); defin ...
- iOS UIWebView 拦截点击事件(双击缩放)
在平时的开发中,要使用到webview,但类似微信的webview在数据没有加载完成的时候 双击屏幕,webview不会缩放,其实实现这个功能很简单 代码是用swift写的 class YYSimpl ...
- 彻底解决低端安卓手机touchend事件不触发(考虑scroll)
本次移动端开发时遇见了安卓4.2系统不能触发touchend的问题,有以下需求. 1. 横滑轮播图 2.下拉刷新页面内容 3.body滚动条不能失效 开始在轮播图touchmove事件中阻止了浏览器默 ...
- 分享一下刚刚HP电话面试。。。。。。。。我估计我挂了,不过还是要来分享一下
面试官是个中国人,给我是全英文面试,总之是做HP的外包业务,说得很好的工作环境,里面都是一些老外在工作. 首先是要用英文介绍了下自己,我自己觉得自己也还是不错的吧,然后就说了一通(其实我好久没说英文了 ...
- C++中的std详解
以下内容为:本人看C++视频教程-范磊主讲(2.91G)视频学习笔记. 与大家分享下,希望可以帮助大家学习c++! 引例: #include<iostream> int main() { ...
- jQuery-1.9.1源码分析系列(十) 事件系统——事件体系结构
又是一个重磅功能点. 在分析源码之前分析一下体系结构,有助于源码理解.实际上在jQuery出现之前,Dean Edwards的跨浏览器AddEvent()设计做的已经比较优秀了:而且jQuery事件系 ...
- 让动态的 iframe 内容高度自适应
使用iframe加载其他页面的时候,需要自适应iframe的高度 这里加载了两个不同内容高度的页面至iframe中 1. 没有设置高度 <div class="iframe-wrapp ...
- 使用abp模板创建解决方案
前言 ABP官网(http://www.aspnetboilerplate.com/),本地环境 sql server EXPRESS +vs2013 通过官网生成 module zero 解决方案模 ...