iOS
文章平均质量分 69
飞奔的小鱼
不需要很厉害地开始,但要开始很厉害。
展开
-
iOS导航栏颜色不一致问题
有时候我们会遇到设置了导航栏的颜色,但是显示的颜色与我们设置的色值有偏差,我们可以通过以下方法解决。方法1:```- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBackgroundImage:...原创 2019-11-19 13:32:26 · 1583 阅读 · 0 评论 -
OC属性
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------assign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。retain:指定retain应该在后面的对象上调用,前一个值发送一条release消息。你可以想象一个NS原创 2015-10-30 16:28:58 · 210 阅读 · 0 评论 -
多线程
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------1.什么是多线程当用户播放音频、下载资源、进行图像处理时往往希望做这些事情的时候其他操作不会被中断或者希望这些操作过程中更加顺畅。在单线程中一个线程只能做一件事情,一件事情处理不完另一件事就不能开始,这样势必影响用户体验。早在单核处理器时期就有多线程,这个时候多线程更多的用于解决线程阻塞造成原创 2015-10-31 15:50:55 · 224 阅读 · 0 评论 -
UIScrollView
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------1、UIScorollView 是ios中提供的滑动控件,用来解决当内容区域大于scorollView可视区域时,可以通过滑动的方式查看整个内容区域,UIScorollView的滑动控件的基类,后期药学的UITableView(表视图),内部实现的原理是修改视图的bounds//创建转载 2015-10-30 16:49:51 · 238 阅读 · 0 评论 -
多线程之线程的状态
线程状态线程状态新建实例化线程对象就绪向线程对象发送 start 消息,线程对象被加入 可调度线程池 等待 CPU 调度detachNewThreadSelector 方法和 performSelectorInBackground 方法会直接实例化一个线程对象并加入 可调度线程池运行CPU 负责调度可调度线程池中线程的执行线程执行完成之前(死亡之前),状原创 2016-01-27 14:46:28 · 220 阅读 · 0 评论 -
多线程之GCD
什么是GCD全称是Grand Central Dispatch,可译为“强大的中枢调度器”纯C语言,提供了非常多强大的函数GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线原创 2016-01-27 15:58:59 · 235 阅读 · 0 评论 -
单例
//.h文件#define singleton_h(name) + (instancetype)shared##name;//.m文件抽取如果有多行空格也需要用\连接起来#if __has_feature(objc_arc) //ARC环境下#define singleton_m(name) static id _instan原创 2016-01-27 16:34:00 · 228 阅读 · 0 评论 -
多线程之NSOperation
NSOperationNSOperation/NSOperationQueue 配合使用费,开启线程! OC的框基于 GCD ! 更加面向对象(oc),但GCD效率更高!NSOperation : 封装了 GCD 中的"任务"!NSOperationQueue : 封装了 GCD 中的"队列"!NSOperation的作用原创 2016-01-27 18:19:58 · 155 阅读 · 0 评论 -
UICollectionView之瀑布流
pffff原创 2015-12-25 22:43:37 · 364 阅读 · 0 评论 -
网络---XML解析
一、什么是XML全称是ExtensibleMarkup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式一般也叫XML文档(XML Document)二、XML的解析在iOS中,解析XML的手段有很多苹果原生NSXMLParser:SAX方式解析,使用简单第三方框架libxml2:纯C语原创 2016-02-05 11:23:56 · 295 阅读 · 0 评论 -
网络---小文件的下载
在实际开发过程中,经常会遇到文件的下载操作,接下来就介绍一下文件下载的操作方法:a> 使用 [NSData dataWithContentsOfURLdispatch_async(dispatch_get_global_queue(0, 0), ^{ NSURL *url = [NSURL URLWithString:@"下载地址”];原创 2016-02-25 22:12:20 · 270 阅读 · 0 评论 -
网络---大文件的下载(NSURLSession)
小文件的下载相对比较简单,但往往大文件的下载会比较常见,也相对来说比较复杂利用NSUrlSession NSURLSession * session = [NSURLSession sharedSession]; NSURL * url = [NSURL URLWithString:@"下载地址"]; [[session downloadTaskWith原创 2016-02-25 22:48:04 · 334 阅读 · 0 评论 -
KVC的使用
简述KVC是Key Value Coding的简称,意思是键值编码。简要来说,KVC提供了一种在运行时而非编译时动态访问对象属性与成员变量的方式,也就是说,我们可以用字符串的内容作为属性名称或者成员变量名称进行访问。使用1.利用KVC可以随意修改一个对象的属性或者成员变量(私有的也可以修改)。其中,key为被修改对象的名称或者其成员变量名称。#import @inter原创 2016-03-14 22:00:13 · 449 阅读 · 0 评论 -
链式编程初体验
链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3)链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)代表:Masonry框架。[View mas_makeConstraints:^(MASConstraintMaker *make) {原创 2016-07-24 11:50:49 · 635 阅读 · 0 评论 -
UITableview
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView展开讨论。基本介绍UITable原创 2015-10-30 15:53:42 · 239 阅读 · 0 评论 -
枚举
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------1.枚举的概念枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示性别,因为季节只有2种取值:男,女。2.枚举类型的定义一般形式为:enum 枚举名 {枚举元原创 2015-10-30 15:25:56 · 282 阅读 · 0 评论 -
typedef
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。1 #in原创 2015-10-30 15:16:24 · 258 阅读 · 0 评论 -
UIPickerView
vsdsdad原创 2015-12-27 19:28:04 · 279 阅读 · 0 评论 -
无限滚动
在工作中有时候我们会遇到无限滚动,比如相册,广告等,今天就用UICollectionView来实现无限滚动,话不多说,都在代码中了!#define ID @"photo"#define KMaxSections 100@interface PhotoViewController () @property (weak, nonatomic) IBOutlet UICollecti原创 2015-12-28 22:38:39 · 225 阅读 · 0 评论 -
plist和NSUserdefaults存储
plistl属性列表是一种XML格式的文件,拓展名为plistl如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中获取Documents:(2种方式)1>利用沙盒根目录拼接”Documents”字符串原创 2015-12-29 22:12:51 · 194 阅读 · 0 评论 -
新特性界面之动画展示
新特性界面当我们在应用商店下载一个应用或者更新一款应用时,进入应用首先看到的是界面展示,一个炫酷的界面展示肯定会吸引众多目光,但如何做一个比较有意思的界面呢?1>首先创建一个控制器,继承自UIViewController @interface WTNewFeatureController ()@property (weak,nonatomic) UICollectionV原创 2016-01-14 22:42:46 · 773 阅读 · 0 评论 -
NSKeyedArchiver归档的使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------将各种类型的对象存储到文件中,而不仅仅是字符串、数组和字典类型,有一种更灵活的方法。就是利用NSKeyedAarchiver类创建带键(keyed)的档案来完成。归档某个对象时,会为它提供一个名称,即键。从归档中检索该对象时,是根据这个键来检索的。这样可以按照任意的顺序将对象写入归档并进行检索原创 2015-10-27 21:22:02 · 312 阅读 · 0 评论 -
UIAlertController 和 UIAlertView的使用
UIAlertView 和 UIAlertController 都可以实现弹框的效果,但是在iOS 8之后,推荐使用UIAlertController,接下来我们就探讨一下,它们之间使用的异同点。需求:在工作中经常会遇到点击UITableViewCell的某一行,弹出一个框,然后修改里面的内容实现:1>使用UIAlertController- (void)tableVi原创 2015-12-19 22:11:36 · 363 阅读 · 0 评论 -
UITableView---总结
1.UITableView概述我们生活中用到的应用几乎都用到了UITableView,例如QQ,微信,网易新闻,新浪微博等。它继承UIScrollView,可以在垂直方向上滚动,它里面的UITableViewCell可以自定义添加控件,功能强大。2.常用属性和方法UITableView它有两种样式:UITableViewStylePlai原创 2015-12-20 22:19:47 · 521 阅读 · 0 评论 -
屏幕适配-----Autoresizing和AutoLayout
屏幕适配的发展过程一.直接使用 frame计算控件的位置、大小(MagicNumber)1.iPhone3GS\ iPhone4 \ iPhone4S 屏幕的物理尺寸是一样的(无需屏幕适配), 而且一个当时的应用要么是横屏要么是竖屏, 不存在能同时进行横竖屏切换的应用二.使用 Autoresizing进行屏幕适配(设置显示规则,只能按照父控件来设置参照)1.随着iP原创 2015-12-22 22:24:58 · 669 阅读 · 0 评论 -
多线程之NSThread的三种创建方式
创建线程的三种方式第一种:通过NSThread的对象方法第二种:通过NSThread的类方法第三种:通过NSObject的方法准备在后台线程调用的方法 longOperation:- (void)longOperation:(id)obj { NSLog(@"%@ - %@", [NSThread currentThread], obj);}方式1:alloc原创 2016-01-24 12:09:12 · 225 阅读 · 0 评论 -
Masonry框架的使用
首先,看到下图中的要求,你可能会想,使用AutoLayout添加约束很容易实现啊,但是在工作中让你使用代码实现,是不是很心塞。下面就介绍一个很好用的,用来实现布局的框架 Masonry创建好工程,导入Masonry.h头文件,先对红色的view添加约束,有5种书写方式:1>2>3> 4>原创 2015-12-23 23:47:58 · 208 阅读 · 0 评论 -
宏
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------宏定义可以分为2种:不带参数的宏定义 和带参数的宏定义。1.不带参数的宏定义形式:#define宏名 字符串 比如#define ABC 10右边的字符串也可以省略,比如#define ABC,它的作用是在编译预处理时,将源程序中所有"宏名"替换成右原创 2015-11-02 20:29:56 · 167 阅读 · 0 评论