开发IOS有一段时间了,也总结了很多小技巧,在这里跟大家分享一下!
我们在写程序的时候,屏幕的宽高我们不能写固定,例如写成320,480之类的,因为我们要适配不同的手机。常用的一种方法是在 .pch文件中设置宽高,因为.pch是一个预编译文件,在全局都能访问到。
#define ScreenHeight [UIScreen mainScreen].bounds.size.hight;
#define ScreenWidth [UIScreen mainScreen].bounds.size.width;
这个问题比较简单,完全算不上技巧,但是有时我们会忽略这个用法。就是给UIView设置背景图片。
_tabbarView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tabbar_background.png"]];
我们的图片是方形的,我们想让它以圆形或者椭圆类似的形状在界面上显示。
_image = [[UIImageView alloc]initWithFrame:CGRectMake(0,0,80,80)];
_image.layer.cornerRadius = 40;//大小不同,形状不同
_image.clipsToBounds = YES;
如何获取主窗口的三种方法。
UIApplication *app=[UIApplication shareApplication];
1,UIWindow *window = app.keyWindow;
2,UIWindow *window = app.delegate.window;
3,UIWindow *window = [app.windows objectAtIndex:0];
当然我们也可以使用连写的方法:比如:UIWindow *window = [UIApplication shareApplication].delegate.window;
我们有时候不小心修改了系统的API,或者其它的一些操作,出现了以下问题该怎么办?
错误信息:fatal error :file /Application ……….
Note: after modifying system headers, please delete the module cache at /Users …..
解决办法:前往/Users….这个文件夹,删除里面的文件,然后clean一下程序即可解决.
我们如何让定时器暂停和开始,并不是开启和关闭。
NSTimer *timer = [NSTimer sch……];
[timer setFireDate :[NSDate distantFuture]];//暂停
[timer setFireDate :[NSDate distantPass]]//开始
我们弹出的键盘通常都是字母键盘,如何弹出数字键盘。
Textfiled.keyboardType = UIKeyboardTypeNumberPad;
在网络请求中,如果请求体中有汉字的话,请求会出错,怎样解决?
假设请求体为:NSString *urlString= @“http://v.juhe.cn/weather/index?cityname=北京”;
因为有汉字字符,请求会出错。处理办法:
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
如何让我们的图片放大不变形。
_image = [[UIImage imageNamed:@"a.png"]stretchableImageWithLeftCapWidth:20 topCapHeight:10];
这些都是从我的开发经验中得到的,有些代码非常实用,俗话说,光看不练,等于白看,用的时候你才会发现他的方便!