iOS开发
qq_16231975
这个作者很懒,什么都没留下…
展开
-
tableView的刷新
一,刷新的总体步骤 1>修改数据模型 2>刷新表格(刷新界面)二,刷新方法 1>全局刷新- (void)reloadData; 2>局部刷新(使用前提:刷新前后,模型的个数没有改变)- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnima原创 2015-04-29 09:32:01 · 535 阅读 · 0 评论 -
@property的用法
weak(assign):代理/UI控件strong (retain) :其他对象(除代理\UI控件\字符串以外的对象)copy: 字符串\blockassign: 非对象类型(基本数据类型 int \float \bool \枚举\结构体)原创 2015-04-29 09:22:56 · 277 阅读 · 0 评论 -
定义自己的代码片段
选中某段可以当做模板的代码,拖动到Xcode右下角的代码片段区域中即可。Xcode会自动帮你常见新的代码片段。之后可以单击代码片段,在弹出的界面选择“Edit”,即可为此代码设置快捷键等信息。如果有些地方想替换,可以用的格式。原创 2015-05-02 02:33:54 · 382 阅读 · 0 评论 -
截取图片为圆角
@property (weak,nonatomic) IBOutletUIImageView *iconView;self.iconImage.layer.cornerRadius=8;self.iconImage.clipsToBounds=YES;原创 2015-05-08 22:04:46 · 575 阅读 · 0 评论 -
设置应用内的系统控件语言
在iOS应用中,是时候会需要系统的一些UI控件,比如UIWebView(长按显示系统上下文菜单),UIImagePickerController(使用系统的照相机界面),UITableViewCell(处于待删除的状态,会有一个系统的删除按钮)。其显示的语言并不是和你当前手机系统语言一致的,而是根据你的应用内部的语言设置来显示的。结果就是如果设置恰当,中文应用可能会出现一些英文的控件文字。如图原创 2015-04-30 16:39:43 · 320 阅读 · 0 评论 -
收起键盘
在UIViewController中收起键盘,除了调用相应控件的resignFirstResponder方法(例如:[self.text resignFirstResponder]),还有另外三种方法:第一,重载UIViewController的touchesEnded或者touchesBegan方法,然后执行[self.view endEditing:YES];这样单击UIViewCon原创 2015-04-30 16:10:32 · 323 阅读 · 0 评论 -
UILabel内容模糊
在非Retina的iPad mini的屏幕上,一个UILabel的frame的origin值如果有小数位数(例如0.5)就会造成显示模糊。所以最好使用整数值的origin坐标。原创 2015-04-30 15:16:18 · 418 阅读 · 0 评论 -
导航栏背景图片
iOS6:非retina:320*44retina :640*88iOS7:retina :640*128原创 2015-05-03 09:46:20 · 577 阅读 · 0 评论 -
APPicon提前渲染
1,Xcode 5.0+ 提前渲染,即取消玻璃质感效果,先选中文件夹,然后勾选 iOS icon is pre-rendered2,Xcode4 设置如下(在info.plist):原创 2015-05-03 15:44:21 · 392 阅读 · 0 评论 -
自定义按钮的标题和图片的位置
有时候我们想要按钮中图片和文件的显示的位置和系统默认的不一样,这时候就需要自定义按钮继承UIButton,然后实现以下两个方法,设置frame://图标的比例#define WbTabBarButtonImageRadio 0.6//contentRect为按钮的frame-(CGRect)imageRectForContentRect:(CGRect)contentRec原创 2015-05-03 20:07:12 · 372 阅读 · 0 评论 -
取的设备的版本号
[[UIDevicecurrentDevice].systemVersiondoubleValue];原创 2015-05-03 10:22:13 · 243 阅读 · 0 评论 -
图片的旋转
[UIViewanimateWithDuration:animDuration animations:^{ _arrowImage.transform =CGAffineTransformMakeRotation(M_PI); }];原创 2015-05-03 20:18:04 · 262 阅读 · 0 评论 -
多版本处理
当遇到编译器Xcode版本和运行系统iOS的版本不同时,需要做相应的适配,以按钮的宽度取标题的文字为例:// 判断是否为iOS7#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >=7.0)/** * 控制器内部label的frame * contentRect : 按钮自己原创 2015-05-03 21:11:26 · 314 阅读 · 0 评论 -
取消按钮的高亮状态
1,自动按钮继承UIButton2,重写覆盖setHighlighted方法即可取消高亮状态- (void)setHighlighted:(BOOL)highlighted{ }原创 2015-05-03 10:32:00 · 878 阅读 · 0 评论 -
iOS6和iOS7的简单适配
如果控制器的view不是tableView或者ScrollView,最好取消view的扩展代码的取消如下:- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ [superin原创 2015-05-04 09:57:24 · 323 阅读 · 0 评论 -
imageView背景图片拉抻
代码示例:UIImage *image=[UIImage imageNamed:@"**1"]; UIImage *imageSel=[UIImageimageNamed:@"**1"]; image=[image stretchableImageWithLeftCapWidth:image.size.width*0.5topCapHeight:image.si原创 2015-05-04 13:49:50 · 311 阅读 · 0 评论 -
点击按钮高亮时是灰色
设置属性为custom原创 2015-05-04 13:48:24 · 540 阅读 · 0 评论 -
多人协作慎用Storyboard
Storyboard是苹果在2011年WWDC中介绍Interface Builder的功能。其基本想法是将原本xib进行升级,引入一个容器管理多个xib文件,并且可以拖拽设置xib之间界面跳转。优点如下:1,可以使用Table ViewController的Static Cell功能。对于开发一些cell不多,但每个cell都不一样的列表类设置界面比较方便。2,通过实现- (void原创 2015-05-01 09:44:43 · 462 阅读 · 0 评论 -
viewDidUnload 被废弃
在iOS4和iOS5系统中,当内存不足,应用受到MemoryWarning时,系统就会自动调用当前没有在界面上得ViewController的viewDidUnload方法。通常情况下,未显示在界面的ViewController是UINavigationController Push栈中未在栈顶的ViewController,以及UITabBarController中未显示的子ViewContro原创 2015-05-01 08:39:53 · 1057 阅读 · 0 评论 -
忽略编译警告
由于Xcode和LLVM不停升级,有时候使用的第三方库会再新版的Xcode中产生以下编译的警告,对于我们确认没有问题的代码,可以加上-w的编译参数,使得这些文件不产生编译警告的内容。-w禁止掉所有编译警告,还可以通过-Wno-unused-variable只禁掉未使用变量的编译警告。原创 2015-05-01 15:48:29 · 372 阅读 · 0 评论 -
Xcode常用快捷键
Cmd + Shift + O 快速查找类,通过这个可以快速跳转到指定类的源代码中Ctrl + 6 列出当前文件中所有的方法,可以输入关键字来过滤。用它们可以快速定位想编辑的方法Cmd + 1 切换成Project NavigatorCmd + Ctrl + Up 在.h和.m文件之间切换Cmd + Enter 切换成s原创 2015-05-01 22:14:29 · 283 阅读 · 0 评论 -
JavaScript文件设置调整
JavaScript的js后缀的文件默认被拖动到工程中后,是在编译列表,不是在资源列表。你需要手工调整位置,否则它就不能打包到ipa文件中。这个问题应该是Xcode6.3版本之前长期的bug,js文件并不需要编译。需要将Compile Source 移动到Copy Bundle Resources.下图是6.3版本(修改bug之后):原创 2015-05-01 23:15:38 · 292 阅读 · 0 评论 -
清除DerivedData
当多次重构工程造成代码没有错却编译失败时,可以尝试删除DerivedData目录。DerivedData目录是Xcode的编译缓存,路径是~/Library/Developer/Xcode/DerivedData.在工程代码进行git merge 或 git rebase的时候常常造成缓存异常。清理DerivedData目录重启Xcode就正常了。原创 2015-05-01 23:38:14 · 2983 阅读 · 0 评论 -
Xcode下载
Xcode可以在App Store直接下载,还可以用开发者账号登陆https://developer.apple.com/xcode/downloads/下载。开发者中心下载好处,下载是一个安装包。另外下载地址可以复制到第三方的下载工具中使用,是下载速度更快一些。缺点是,不能享受App Store自动跟新软件的方便,并且Mac App Store 更新是支持增量更新的,所以很多时候只需要下载很原创 2015-05-01 23:52:12 · 353 阅读 · 0 评论 -
target信息异常
当工程的编译target信息异常的时候,可以删除**.xcodeproj/xcuserdata目录。该目录下存有当前用户的各种工程状态信息,删除后重启Xcode,Xcode会自动重建该目录。原创 2015-05-01 23:45:40 · 364 阅读 · 0 评论 -
模拟器相册增加图片
把图片从Finder中拖到模拟器中。(Xcode6.3直接拖进去就可以了)用Safari打开这张图,然后长按这张图,在弹出的菜单中选择“Save Image”,就可以把图片保存到模拟器的相册中了。原创 2015-05-02 00:42:56 · 963 阅读 · 0 评论 -
覆盖安装注意事项
在模拟器或真机上进行应用调试时,如果是覆盖安装,新删除的资源文件并不会马上在模拟器或真机上被删除。如果代码需要在没有该资源文件存在时才能正常工作,那么久需要手工强制把以前的应用删除重装。比如:创建了一个带xib的OneViewController,然后通过[ [OneViewController alloc] init]这种方式初始化,系统会默认查找有没有xib文件,有的话就从xib文件中原创 2015-05-02 00:27:51 · 464 阅读 · 0 评论 -
状态栏由UIApplication管理
1,设置info.plist2,设置状态栏[UIApplicationsharedApplication].statusBarStyle=UIStatusBarStyleLightContent;原创 2015-05-03 10:05:22 · 304 阅读 · 0 评论 -
模拟器快捷键
Cmd + 1/2/3 切换模拟器的显示比例(Retina模拟器不能在23英寸的iMac显示器中完整显示)Opt + Shift 在模拟器中调出双指拖动效果Opt 在模拟器中调出双指放大缩小效果Cmd + Shift + H模拟器的Home键Cmd + Left/Right切换横竖屏原创 2015-05-02 00:20:39 · 352 阅读 · 0 评论 -
异常断点与符号断点
在Xcode中按Cmd + 7 跳转到断点管理界面,单击右下角的“+”号,则可以添加异常断点或符号断点,如图:异常断点可以在程序因为异常崩溃退出当前暂停,便于我们定位出错位置。符号断点可以给指定的方法加断点,适于我们为系统的方法增加暂停位置。原创 2015-05-02 01:16:40 · 699 阅读 · 0 评论 -
查看ipa内容
经过Xcode编译生成的ipa文件实际上就是一个zip文件。我们把ipa文件的后缀名改成“zip”,然后双击即可解压打开。解压后的程序在Payload目录下,是一个“app”后缀的文件夹。在文件上单击右键,选择“显示包内容(Show Package Contents)”,即可看到所有的程序资源文件,如下图所示。我们也要注意,打包时不要把不必要的文档包含进去,有些朋友不注意会把一些内部的原创 2015-05-02 02:09:25 · 2813 阅读 · 0 评论 -
storyboard中创建按钮点击时去掉高亮状态
当选择 type为system时,点击按钮状态是:当状态改为custom按钮点击高亮状态是:原创 2015-05-06 11:04:54 · 732 阅读 · 0 评论 -
ios多语言本地化
一,本地化字符串1,创建Localizable.strings文件右击SupportingFiles--》New File-->ios Resource---->Strings File 然后命令为LocalizableLocalizable2,添加需要本地化的语言选中该文件勾选需要本地化的语言3,初始化Localizable.strings原创 2015-05-14 12:03:18 · 322 阅读 · 0 评论 -
ios设置全局变量
运用AppDelegate代理如下:1,在AppDelegate.h中@propertyNSData *dataSignature;在AppDelegate.m中@implementation AppDelegate//设置全局变量@synthesize dataSignature;@end2,在需要设置全局变量的地方设置该变量//赋值全原创 2015-05-14 17:23:21 · 544 阅读 · 0 评论 -
iPhone和iPad屏幕的尺寸和分辨率
在iOS开发中,只需要关注以下几种情况iPhone3.5inch:320x4804.0inch:320x5684.7inch: 375×5675.5inch:540×960iPad、iPadMini9.7inch、7.9inch:768x1024原创 2015-05-04 09:42:27 · 649 阅读 · 0 评论 -
时间和日期
//创建星期数组 NSArray *weekDays=[NSArrayarrayWithObjects:@"周日",@"周一",@"周二",@"周三",@"周四",@"周五",@"周六",nil]; //日历格式采取阳历 NSCalendar *calendar=[[NSCalendaralloc]原创 2015-05-21 11:57:33 · 292 阅读 · 0 评论 -
Xcode6在iPhone5+iOS7模拟器上编译,出现上下有黑边问题
在Xcode6环境下,对于iPhone5或iPhone5s模拟器,在iOS7+运行,屏幕有黑边,但在iOS8没有问题。原因分析如下:Xcode6在Xcode5的基础上做了调整,并不是向下兼容的。Xcode5在启动页通过images.asset进行管理,但是到了Xcode6,苹果引入了一种新的启动页机制:LaunchScreen.xib,而这种机制不向下兼容的。Xcode6已经自动为iPho原创 2015-05-27 11:12:29 · 541 阅读 · 0 评论 -
ios枚举
枚举的定义,C语言方式:typedef enum{ EnumTypeA = 0, EnumTypeB, EnumTypeC, EnumTypeD} EnumType;EnumType是枚举类型的名称。值依次为0,1,2,3,iOS特有的方式:typedef NS_ENUM(NSInteger, EnumType){ EnumTypeA = 0, EnumTypeB,原创 2015-05-28 16:43:18 · 375 阅读 · 0 评论 -
KVC与KVO理解
Key-Value Coding(KVC)KVC,是指 NSKeyValueCoding,NSObject 的分类, NSObject(NSKeyValueCoding) ,提供一种机制来间接访问对象的属性和值。KVO是基于KVC实现的关键技术之一。例如:一个Person对象有一个name和一个age属性,一个book对象, Person *p = [[Personal原创 2015-06-02 14:47:16 · 310 阅读 · 0 评论 -
如何在Mac OS X上安装 Ruby运行环境
步骤0 - 安装系统需要的包 # For Mac # 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包步骤1 - 安装 RVM $ curl -L https://get.rvm.io | bash -s stable期间可能会问你sudo管理员密码,以及自动通过h原创 2015-06-23 16:29:53 · 312 阅读 · 0 评论