当前位置:首页 > 教程 > 你真的了解IOS吗?

你真的了解IOS吗?

开发IOS有一段时间了,也总结了很多小技巧,在这里跟大家分享一下!
ios-9-yukleme1

技巧一:

我们在写程序的时候,屏幕的宽高我们不能写固定,例如写成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一下程序即可解决.

技巧六:

iOS-8

我们如何让定时器暂停和开始,并不是开启和关闭。

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];

这些都是从我的开发经验中得到的,有些代码非常实用,俗话说,光看不练,等于白看,用的时候你才会发现他的方便!

  • << 关于Html的一些小技巧
  • C#6.0的新语法 >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/studyios/

    相关文章 近期热评 最新文章

    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程
    • c#类的构造函数继承关系示例剖析
      本文通过示例代码讲解了c#子类的构造函数与父类的关系,子类怎样集成父类的构造函数的。