
IOS-UI基础
xunzhaoxusanduo
这个作者很懒,什么都没留下…
展开
-
程序启动原理和UIApplication
原文地址: http://www.cnblogs.com/wendingding/p/3766347.html一、UIApplication1.简单介绍(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。(2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplic转载 2015-09-01 11:36:11 · 334 阅读 · 0 评论 -
关于自定义UICollectionViewLayout的一点个人理解
自定义UICollectionView,主要会用到以下几个方法:- (void)prepareLayout;第一次加载layout、刷新layout、以及- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds;这个方法返回yes时,会调用。这是苹果官方的说明The collection view calls -转载 2016-05-07 16:03:08 · 5402 阅读 · 0 评论 -
NSAttributeString
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查遍其所有属性才发现,UITextView居然没有调整行间距的接口,于是忍住不心里抱怨了一下下。 但是问题还是要解决的,上网一查才发现,iOS不仅有富文本处理的功能,而且转载 2016-05-19 14:42:09 · 1061 阅读 · 0 评论 -
NSAttributedString换行
常用属性:NSFontAttributeName 文字字体NSParagraphStyleAttributeName 段落样式(字符串通过“\n”进行分段,此设置必须在lable.numberOfLines = 0时有效,value通过NSMutableParagraphStyle设置,它有以下属性) [段落样式-插曲] 1 @property(转载 2016-05-19 15:03:42 · 11507 阅读 · 0 评论 -
追求Masonry
Autolayout就像一个知情达理,善解人意的好姑娘,可惜长相有点不堪入目,所以追求者寥寥无几。所幸遇到了化妆大师cloudkite,给她来了一个完美的化妆,从此丑小鸭Autolayout变成了美天鹅Masonry。前几日有幸一见,果然名不虚传,长相甜美,还善解人意。我果断放弃了Frame,开始追求Masonry初识Masonry初见我们先来看看Masonry到底有多美。我要设置转载 2016-05-20 17:05:20 · 211 阅读 · 0 评论 -
NSLayoutAttributeLeft与NSLayoutAttributeLeading的区别
前言在使用Masonry时,有mas_left与mas_leading,同样有mas_right与mas_trailing,在中国都习惯左、右布局,使用left/right与heading/trailing是一样的。但是,在其它部分国家,开发者们的习惯不都是左、右或者前、后布局,还有右、左或者后、前布局的,因此是不一样的。在中国,就放心的使用左、右或者前、后的方式吧。Mas转载 2016-05-20 17:12:40 · 1609 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running转载 2016-06-24 17:05:24 · 426 阅读 · 0 评论 -
iOS远程推送对代理方法调用的理解
iOS收到远程推送时,主要涉及到三个代理方法的调用:1、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;2、- (void)application:(UIApplication *)application didReceiv原创 2016-06-24 18:13:49 · 1878 阅读 · 0 评论 -
使用UITableView是如何判断reloadData加载数据已经结束
stackoverflow上有人提问这样的问题http://stackoverflow.com/questions/16071503/how-to-tell-when-uitableview-has-completed-reloaddata如果在reloadDate后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reload原创 2016-06-29 17:47:57 · 1269 阅读 · 0 评论 -
iOS中使用第三方键盘UIKeyboardWillShowNotification执行多次
大家都知道监听键盘的四个通知UIKeyboardWillShowNotification、UIKeyboardDidShowNotification、UIKeyboardWillHideNotification、UIKeyboardDidHideNotification,分别为键盘将要弹出的通知,键盘已经弹出的通知,键盘将要隐藏的通知和键盘已经隐藏的通知。当你对输入框尤其是输入框的.origin.转载 2016-07-01 20:05:29 · 4446 阅读 · 0 评论 -
Present ViewController详解
一、主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形: 1、收集用户输入信息 2、临时呈现一些内容 3、临时改变工作模式 4、相应设备方向变化(用于针对不同方向转载 2016-07-04 15:03:49 · 4729 阅读 · 0 评论 -
UINavgationController中覆写preferredStatusBarStyle方法不执行的问题
原文地址:http://blog.youkuaiyun.com/jkwmscq/article/details/47107447#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewD转载 2016-05-07 12:17:27 · 308 阅读 · 0 评论 -
iOS7下隐藏statusbar
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。一、如果V转载 2016-05-07 12:22:45 · 276 阅读 · 0 评论 -
iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法
在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置CustomView的frame,添加到导航条上之后总是和屏幕边界有一定的间距(5pix),如何自由调整这个间距呢?下面介绍两种方法:1、不用直接设置rightBartButtonItem转载 2016-05-07 10:05:44 · 1626 阅读 · 0 评论 -
将PrefixHeader.pch添加到Xcode项目
PrefixHeader.pch是什么?.pch是全局引用文件,在其中添加需要全局引用的常量和设置。屏幕快照 2015-10-30 下午6.22.51.pngPrefixHeader.pch在Xcode之前是默认添加在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个转载 2016-05-12 17:19:06 · 431 阅读 · 0 评论 -
ios 开发file's owner以及outlet与连线的理解
xib文件本身可以看做是一个xml,app启动的时候会根据xml构造xib对应的界面及其控件,file's owner 可以看做是 xib对应的类,比如 view对应的xib文件的file'owner对应的就是 viewcontrol的类,outlet是针对xib文件中希望能够在外部引用的控件成员,那么为什么要做outlet与file's owner 之间的连线呢?这里转载 2015-09-09 14:54:41 · 535 阅读 · 0 评论 -
关于iOS9中的App Transport Security相关说明及适配
原文地址:http://my.oschina.net/vimfung/blog/494687iOS9中新增App Transport Security(简称ATS)特性, 主要使到原来请求的时候用到的HTTP,都转向TLS1.2协议进行传输。这也意味着所有的HTTP协议都强制使用了HTTPS协议进行传输。原文如下:App Transport Securi转载 2015-11-05 10:33:45 · 412 阅读 · 0 评论 -
深入探究frame和bounds的区别以及setbounds使用
原文地址:http://www.cocoachina.com/ios/20140925/9755.html在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤其是bound很绕,很难理解。一、首先,看一下公认的资料先看到下面的代码你肯定就明白了一些:12345转载 2015-09-16 10:17:37 · 643 阅读 · 0 评论 -
iOS中的触摸事件和手势处理
原文地址:http://my.oschina.net/aofe/blog/268749iOS中的事件可以分为三大类: 1> 触摸事件 2> 加速计事件 3> 远程控制事件响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为"响应转载 2015-09-16 10:36:35 · 393 阅读 · 0 评论 -
UIViewController的基本概念与生命周期
原文地址:http://www.cnblogs.com/wayne23/p/3868535.htmlUIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewController来控制的,UIViewController管理UIView的生命周期及资源的加载与释放。UIView与UIWindow共同展示了应用程序的用户界面。可以将UIVi转载 2015-09-17 14:38:35 · 330 阅读 · 0 评论 -
iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)实现了以下iOS页面间传值:1.委托delegate方式;2.通知notification方式;3.block方式;4.UserDefault或者文件方式;5.单例模式方式;6.通过设置属性,实现页面间传值在iOS开发中,我们经常会遇到页面间跳转传值的问题,现归纳总转载 2016-01-20 09:00:27 · 454 阅读 · 0 评论 -
iOS库 .a与.framework区别
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?转载 2016-04-13 11:47:22 · 278 阅读 · 0 评论 -
Xcode 创建.a和framework静态库
原文地址:http://www.jianshu.com/p/43d55ae49f59最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录。库介绍库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。iOS中的静态库有 .a 和 .framework两种形式;动态库有.dylib 和 .framework 形式转载 2016-04-13 13:51:35 · 495 阅读 · 0 评论 -
UIScrollView添加AutoLayout约束的坑
之前在使用AutoLayout给UIScrollView进行布局的时候,总会出现点这样那样莫名其妙的问题.我也曾跳坑两次,挣扎许久最后都以放弃storyboard改为代码实现而告终.今天终得正解,遂拿出来说说.先从最基础的开始,我们试着在storyboard上添加一个UIScrollView,并且在内部添加一个和它一样大的UIImageView.首先,拖一个UIScrollView到sto转载 2016-05-11 13:14:21 · 1449 阅读 · 0 评论 -
史上最简单的UIScrollView+Autolayout出坑指南
背景网上有很多使用Storyboard完成UIScrollview的例子,但是纯代码的例子却不多。有限的一些例子大多也是外国开发者用VFL写的。而这篇文章基于swift语言和SnapKit分析了如何用纯代码加Autolayout写UIScrollview,完整代码已经上传到我的github。在正文中,我会分析其中的关键代码。对于Autolayout,绝对不可取的态度是不停的试几个约束,一旦转载 2016-05-11 14:17:38 · 933 阅读 · 0 评论 -
ios中json解析出现的null问题
在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式。问题现象但是几个项目下来一直遇到一个坑爹的问题,程序在获取某些数据之后莫名崩溃。其实很早就发现了原因:由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据:"somevalue":null通过JsonKit 这个第三方库解析出来的数据就成了s转载 2016-05-24 20:55:21 · 1309 阅读 · 1 评论 -
iOS7下隐藏statusbar
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。一、如果V转载 2016-07-08 16:38:04 · 387 阅读 · 0 评论