iOS 常见坑iOS DeveloperIOS

关于iOS开发的一些小技巧

2015-12-25  本文已影响677人  iOS小乔

一、利用AutoLayout布局,快速查看是否成功适配各种iPhone设备

1、首先切换到双视图模式,快速切换的方法是选择你的storyboard或是nib,按住option点击任意一个类即可切换
2、直接上图吧

20151225_1.png 2015-12-24 下午4.09.44.png

如果你的双视图不是类似我这样的看着不舒服,你可以切换双视图的显示样式


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中
按图步骤来

1 2 3 4 5 6

四、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

一些有用的技巧
http://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2652547085&idx=1&sn=549e63eb5c6a7e62ce16bc835e3fbc8b&scene=0#wechat_redirect

如果能够帮到你,请你打赏支持我的创作(请小乔喝杯饮料😁)
©小乔

上一篇下一篇

猜你喜欢

热点阅读