关于iOS开发的一些小技巧
2015-12-25 本文已影响677人
iOS小乔
一、利用AutoLayout布局,快速查看是否成功适配各种iPhone设备
1、首先切换到双视图模式,快速切换的方法是选择你的storyboard或是nib,按住option点击任意一个类即可切换
2、直接上图吧
如果你的双视图不是类似我这样的看着不舒服,你可以切换双视图的显示样式
2015-12-24 下午4.12.27.png
另附一张关于iOS字体大小和像素的转换,该图为百度搜出来的,精不精确与本人无关,只是提供一下资源,原图在这里
2.png二、获取当前设备的型号
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size)) : NO)
#define iPhone6plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2001), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size)) : NO)
三、interface build的一些快捷方法
如何将一些画好的节目,原版不动的放到另一个view中
按图步骤来
四、interface build的根据图片或文本大小自动适配控件大小(超实用)
利用快捷键"⌘"+"="
屏幕快照 2016-02-01 下午5.44.36.png 屏幕快照 2016-02-01 下午5.44.46.png图片同样适用
屏幕快照 2016-02-01 下午5.47.44.png 屏幕快照 2016-02-01 下午5.47.52.png五、interface build的快速观看到一个视图所处位置
按住option
,鼠标移动到你想相对于哪个视图
额,不太好截图啊。。。。
六、改变app的名字,在info中添加一行
Bundle display name
屏幕快照 2016-02-16 下午2.52.52.png七、关于调试技巧的方法,使用lldb
屏幕快照 2016-02-26 下午2.18.27.png🌰
Snip20160302_1.png然后回车,就会看到输出的结果
最常用的就是po、bt 、p
屏幕快照 2016-02-26 下午2.37.11.png关于lldb更多详细介绍,以及更多调试技巧,点这里
七、设置image的渲染方式
问题:在制作tabbar,navigationbar 等一些item图片时,因为没有设置图片的渲染模式,导致下图结果
屏幕快照 2016-03-10 上午10.51.08.png我们想要的效果->
屏幕快照 2016-03-10 上午10.50.38.png
通过代码敲解决方法:
UIImage *img = [[UIImage imageNamed:图片名] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
通过sb解决
Snip20160310_2.png八、设置状态栏的颜色
问题:
Snip20160310_3.png Snip20160310_4.png解决方法
Snip20160310_5.png Snip20160310_6.png
九、OC中的复合句
这样的写法
self.tabelView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];
self.tabelView.delegate = self;
self.tabelView.dataSource = self;
[self.view addSubview:self.tabelView];
👇来看看使用复合句怎么写出来
self.tabelView = ({UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource = self;
[self.view addSubview:tableView];
tableView;
});
是不是显得很6~
十、iOS10以后拨打电话自动带弹框,不需要再自己写弹框啦
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"tel:x x x x x x"]];
设置启动页的加载时间
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[NSThread sleepForTimeInterval:5.0];//设置启动页面时间
}
PS:如需转载请注明iOS小乔http://www.jianshu.com/users/f029d92cedc0/latest_articles
如果能够帮到你,请你打赏支持我的创作(请小乔喝杯饮料😁)
©小乔