
iOS基础
文章平均质量分 59
哎呦喂lly
这个作者很懒,什么都没留下…
展开
-
2022 CocoaPods安装教程
2022最新整理CocoaPods安装教程原创 2022-07-20 10:17:20 · 993 阅读 · 0 评论 -
UITableView之(四):使用UITableViewCell
创建使用tableViewCell有两种方式:1、创建tableViewCell:常应用于代码创建- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *const cellId = @"...原创 2016-09-12 10:24:15 · 330 阅读 · 0 评论 -
UITableView之(三):UITableViewCell
iOS设计中最重要的概念之一:重用机制UITableViewCell的设计使用的就是重用机制,这大大节省了资源的占用。这也是设计中要注意的点,很多情况下tableViewCell不能正常显示,或者是显示有差异,有很大一部分的原因就是重用机制没有运用好。重用机制:显示在屏幕上的cell是实实在在创建出来的,同样类型的cell都有相同的标志identifier,当最上面的cell随着滑动消...原创 2016-09-09 17:26:15 · 641 阅读 · 0 评论 -
UITableView之(二):删除、移动
UItableView提供了编辑的方法: // 添加编辑按钮 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"删除" style:(UIBarButtonItemStyleDone) target:self action:@selector(edi...原创 2016-09-09 15:36:24 · 325 阅读 · 0 评论 -
UITableView之(一):基本概念和用法
UITableView 是iOS中最重要的控件,几乎所有的页面都可以用UITableView完成。基本用法:tableView的使用需要遵循代理和数据源,这也是一种非常棒的设计模式,数据源模式可以近似为代理模式。 // 基本属性 // 设置tableView的类型 // UITableViewStylePlain 基本类型,分区头标题会悬浮 ...原创 2016-09-09 11:01:20 · 1991 阅读 · 0 评论 -
数据存储之(四): 归档、反归档
NSKeyedArchiver如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复不是所有的对象都可以直接用这种方法进行归档,只有遵守了NSCoding协议的对象才可以NSCoding协议有2个方法:encodeWithCoder:每次归档对象时,都会调用这...原创 2016-03-11 14:39:30 · 585 阅读 · 0 评论 -
数据存储之(三): Library/Preference路径的存储---NSUserDefaults
偏好设置:很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能每个应用都有个NSUserDefaults实例,通过它来存取偏好设置比如,保存用户名、字体大小、是否自动登录NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];...原创 2016-03-11 14:26:46 · 1543 阅读 · 0 评论 -
数据存储之(二):基本数据的存储
基本数据的存储使用的是属性存储:属性列表是一种XML格式的文件,拓展名为plist。当然,文件的后缀可以自由定义,不影响数据的存储和读取。如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中步骤:1、获取并创建沙盒路径2、将数据...原创 2016-03-11 11:47:04 · 507 阅读 · 0 评论 -
数据存储之(一):iOS数据存储方式及沙盒的说明
iOS数据存储的几种方式:1、XML属性列表(plist)归档2、Preference(偏好设置)3、NSKeyedArchiver归档(NSCoding)4、SQLite35、CoreData应用沙盒:每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。应用沙盒的文件系统目...原创 2016-03-11 11:32:13 · 375 阅读 · 0 评论 -
Core Graphics之(五):图形上下文栈
图形上下文栈,即使用了栈的相关属性,将上下文保存在栈中,并进行入栈和出栈的操作。入栈的上下文保存了相关的设置,出栈后,栈中将只保存最原始的上下文。栈:先进后出,后进先出效果图:- (void)drawRect:(CGRect)rect{ //1、获取上下文 类似于单例对象 在drawRect方法中不管调用几次都返回同一个对象 CGContextR...原创 2016-02-14 10:16:36 · 436 阅读 · 0 评论 -
Core Graphics之(四):绘制矩形
运用Core Graphics绘制矩形的方法绘制柱状图计算出矩形的x、y、w、h使用for循环原创 2016-02-14 09:55:47 · 659 阅读 · 0 评论 -
Core Graphics之(三):绘制进度条
综合运用Core Graphics绘制进度条:效果图如下:在ViewController创建slider和view属性,同时设置slider的value范围为0-1。进度条的范围随value的变化而变化。在view中声明progress属性,用来接收silder的value的值。在view中,使用label显示当前进度的大小。绘制圆形,需要设置set...原创 2016-02-14 09:11:38 · 503 阅读 · 0 评论 -
Core Graphics之(二):绘制:矩形、椭圆、圆形、文字、图片
使用Graphics函数可以绘制线段,也可以绘制图形。1、绘制矩形(可以使用线段拼接绘制图形,但iOS提供了更好用的绘制图形的函数)2、在设定的CGRect中画圆,随CGRect的形状而改变圆形椭圆3、使用绘制圆形的函数画圆4、画字符串5、画图片6、在图片上添加水印(画文字)...原创 2016-02-04 15:35:09 · 2720 阅读 · 2 评论 -
Core Graphics之(一):绘制线段、线段的设置
使用绘图的步骤:1、创建继承与UIVIew的View视图2、重写View的DrawRect方法:- (void)drawRect:(CGRect)rect ;3、将View视图添加到Controller上CGContextRef主要的函数将在以下的示例中说明:1、绘制基本线段2、绘制图形任何图形都可以绘制成功,需要详细计算对应的点3、对图形...原创 2016-02-04 14:53:49 · 1166 阅读 · 0 评论 -
UITableView之(九):上拉刷新的原理介绍
UITableView : UIScrollViewUITableView继承于UIScrollView,默认遵守UIScrollView的代理协议,使用UIScrollView的代理方法来进行设置:scrollView.contentInset包含如下属性:CGFloat top, left, bottom, right;在scrollView中,top是上面额外的高度,...原创 2016-01-25 11:38:37 · 636 阅读 · 0 评论 -
UITableView之(八):使用系统自带UIRefreshControl进行下拉刷新
UIRefreshControl的相关属性:- (instancetype)init;@property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing;@property (null_resettable, nonatomic, strong) UIColor *tintColor;@property (nullab...原创 2016-01-25 10:12:04 · 459 阅读 · 0 评论 -
UITableView之(五):自定义UITableViewCell
几乎所有的tableViewCell都是采用自定义的方式进行展示UI的。自定义tableViewCell是学习tableView的重点和难点。重点:经常用到难点:1、复杂cell的显示细节非常多 2、控制好cell的重用,cell的异常显示往往和重用有很大的关系,这也是bug的重灾区 3、可变高度的计算,很多情况下自定义的cell的高度都不会...原创 2016-09-12 11:23:22 · 640 阅读 · 0 评论 -
UITableView之(六):HeaderView和FooterView
UITableView提供了tableHeaderView、tableFooterView、 viewForFooterInSection、viewForHeaderInSection来为表格设置样式,它们的用法略有区别。tableHeaderView和tableFooterView的用法相同:1、可以为任何style的tableView设置,并且头和尾只有各一个2、创建需要显示的vi...原创 2016-09-14 10:02:29 · 2958 阅读 · 0 评论 -
UITableView之(七):模型
模型的运用是使用tableView的重点。如下为创建和使用模型过程的基本和走过的坑:创建:1、根据数据的返回和项目的实际,创建模型的名称,继承于NSObject,如Person;2、设置模型的属性,模型的属性名和数据返回的名称要一致,如不一致需要进行处理,如name、sex、age、id等,id为系统保留名称,需要进行特殊处理。使用iOS自带的方法进行数据转模型设置:设置I...原创 2016-09-14 11:07:52 · 334 阅读 · 0 评论 -
UI基础学习之(一):UIWindow、UIView的基本属性
UIWindow1、每个程序至少有一个Window,在Application.m中进行设置2、Window用来展示控件-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window =原创 2015-10-26 17:03:16 · 405 阅读 · 0 评论 -
UI基础学习之(二):UILabel
UILabelUILabel的基本属性比较简单,文字的对齐方式和断行模式属于OC框架下的属性,即NS开头的属性值,如下:创建UILabelUILabel * label = [[UILabel alloc] init];// 设置属性 label.frame = CGRectMake(100, 100, 200,100); label.backgrou原创 2015-10-26 17:21:58 · 400 阅读 · 0 评论 -
UI基础学习之(十二):UINavigationController
UINavigationController导航视图控制器,用来管理多个视图控制器,主要管理有层级关系的控制器。 UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,控制出栈和入栈来展示各个视图控制器。至少要有一个被管理的视图控制器,这个控制器我们称作,导航视图控制器的根视图控制器。任何继承自UIViewContro原创 2016-01-22 14:17:47 · 418 阅读 · 0 评论 -
UI基础学习之(十一):UIScrollView
UIScrollView是可以滚动的View,UIView本身不能滚动,子类UIScrollView拓展了滚动的功能。UIScrollView是所有滚动视图的基类。UITableView、UITextView等都继承于该类。使用场景:显示不下(单张大图);内容太多(图文混排);滚动头条(图片);相册等。UIScrollView主要专长于两个方面:滚动:contentSize大于fr原创 2015-12-08 14:23:16 · 346 阅读 · 0 评论 -
UI基础学习之(八):UISegmentedControl
UISegmentedControl是iOS中的分段控件。每个segment都能被点击,相当于集成了若干个button。通常我们会点击不同的segment来切换不同的view。 //创建UISegmentedControlNSArray * dataArray = @[@"first", @"second", @"third"];self.seg = [[UISegment原创 2015-12-08 14:10:23 · 361 阅读 · 0 评论 -
UI基础学习之(九):UISlider
UISlider是iOS中的滑块控件。通常用于控制视频播放进度,控制⾳音量等。它也是继承于UIControl,滑块提供了一系列连续的值,滑块停在不同的位置,获取到滑块上的值也不同。 创建Sliderself.slider = [[[UISlider alloc] init] autorelease];self.slider.frame = CGRectMake(50,原创 2015-12-08 14:13:13 · 404 阅读 · 0 评论 -
UI基础学习之(十):UIPageControl
PageControl一般和ScrollView配合使用 //创建pagecontrolself.pageControl = [[[UIPageControl alloc] init] autorelease];//设置在屏幕的底端self.pageControl.frame = CGRectMake(0, CGRectGetMaxY(self.frame) - 50, CGR原创 2015-12-08 14:17:27 · 327 阅读 · 0 评论 -
UI基础学习之(七):UIViewController
一、视图控制器的创建:作用:管理view文件:UIViewController、UIView创建RootViewController,继承于UIViewController创建RootView,继承于UIView在MRC下创建步骤:1、在RootView.m中声明指定初始化方法:- (instancetype)initWithFrame:(CGRect)frame{原创 2015-12-08 14:04:33 · 475 阅读 · 0 评论 -
UI基础学习之(六):程序的启动过程
在iOS中程序的启动过程如下:程序启动过程- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFr原创 2015-12-08 13:54:17 · 339 阅读 · 0 评论 -
UI基础学习之(四):UITextFiled Delegate
UITextFile还拥有自己的代理,用来监听和输入相关的操作: 创建代理UITextField * tf1 = [[UITextField alloc] init]; tf1.frame = CGRectMake(50, 50, 200, 50); tf1.backgroundColor = [UIColor yellowColor]; //原创 2015-12-08 13:42:34 · 430 阅读 · 0 评论 -
UI基础学习之(五):UIButton
Button的创建可以使用类方法UIButton * b1 = [UIButton buttonWithType:UIButtonTypeSystem];b1.frame = CGRectMake(100, 100, 100, 100);b1.backgroundColor = [UIColor cyanColor];[self.window addSubview:b1];原创 2015-12-08 13:47:29 · 312 阅读 · 0 评论 -
UI基础学习之(十五):UIPickerView
使用UIPickerView可以在用户摄者时提供便利,尤其是固定的信息中:如省市的选择,性别的选择数据源的获取:#import @interface Province : NSObject@property (copy, nonatomic)NSString *name;@property (strong, nonatomic)NSArray *cities;原创 2016-02-14 10:53:24 · 389 阅读 · 0 评论 -
UI基础学习之(十六):NSTimer
总结NStimer的使用如下:NSTimer有五种创建的方法:一、初始化方法:有五种初始化方法,分别是+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;- (void)viewDidLoad {转载 2016-02-14 11:27:26 · 348 阅读 · 0 评论 -
UI基础学习之(十三):Transform的使用
速度恢复快结婚时间看到原创 2016-02-04 10:37:21 · 1412 阅读 · 0 评论 -
UI基础学习之(十四):手势
接上篇:transform手势配合使用transform手势可以添加在任何想要的地方,一般添加在imageView上。GestureRecognizer 手势识别器使用手势,首先要确定控件的手势交互式打开的://打开交互self.rv.imv.userInteractionEnabled = YES; 1、轻拍UITapGestureRe原创 2016-02-04 11:19:25 · 309 阅读 · 0 评论 -
UI基础学习之(三):UITextField
UITextField创建UITextField * tf1 =[[UITextField alloc] init];设置属性tf1.frame =CGRectMake(50, 200, 200, 50);tf1.backgroundColor= [UIColor yellowColor]; //文本显示//文本框中的文字 可读可写tf1.text = @"请输原创 2015-10-26 17:29:08 · 363 阅读 · 0 评论