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 ...
随机推荐
- JavaScript的全局变量与局部变量解析
一.JavaScript scope 的划分标准是function函数块,不是以 if.while.for来划分的 <script> function f1(){ alert(" ...
- DDD 领域驱动设计-Value Object(值对象)如何使用 EF 进行正确映射
写在前面 首先,这篇博文是用博客园新发布的 MarkDown编辑器 编写的,这也是我第一次使用,语法也不是很熟悉,但我觉得应该会很爽,博文后面再记录下用过的感受,这边就不多说. 阅读目录: 上一篇回顾 ...
- 最详细的网站改版SEO优化指南:如何让排名不降反升
我知道,网站改版很是让人头疼.首先,这个过程需要很长时间还有大量工作要做,并且通常结果不会如你的预期.其次,改版确实有破坏之前为 SEO 所做努力的风险. 但不要因为通常网站改版带来排名下降就认为这是 ...
- ((uchar*)(Img1->imageData + Img1->widthStep*pt.y))[pt.x] 的 具体含义
widthstep是指图像每行所占的字节数. 主要要和width区别: width是表示图像的每行像素数,widthStep指表示存储一行像素需要的字节数. 在OpenCV里边,widthStep必须 ...
- 相克军_Oracle体系_随堂笔记008-存储结构
控制文件.数据文件.日志文件 放在存储上. 参数文件:数据库启动时读取,并不关闭,但是启动过后丢了也没事.一般放在服务器上. $ORACLE_HOME/dbs下 备份文件{ 控制 ...
- (十三)WebGIS中工具栏的设计之命令模式
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 从这一章节开始我们将正式进入WebGIS的工具栏中相关功能的 ...
- SQL Server SQL性能优化之--数据库在“简单”参数化模式下,自动参数化SQL带来的问题
数据库参数化的模式 数据库的参数化有两种方式,简单(simple)和强制(forced),默认的参数化默认是“简单”,简单模式下,如果每次发过来的SQL,除非完全一样,否则就重编译它(特殊情况会自动参 ...
- git配置
安装完成git之后基本就可以使用了,但是,有些配置还是需要的. 在任何一个目录下,右键 Git Bash Here, 然后输入: 1.设置用户名和邮箱 $ git config --global us ...
- 细说Cookie
阅读目录 开始 Cookie 概述 Cookie的写.读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Session中的应用 Cookie在身份验证中的应用 Cookie的 ...
- Vagrant入门
简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox.AWS.Docker等.它使得我们可以一次性地.自动创建多个环境相同的虚拟机,对 ...