UI图形界面
zZZ浮生
这个作者很懒,什么都没留下…
展开
-
[TwistedFate]MVC视图控制器
MVC基本介绍UIViewController是MVC设计模式的核⼼。MVC是⼀个框架级的设计模式。M是Model,主要⽤于建⽴数据模型(即数据的结构)V是View,我们能看到的所有控件都是view,view主要的功能是展⽰数据。C是控制器,主要是控制M和V的通信 一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互原创 2015-11-13 20:29:05 · 399 阅读 · 0 评论 -
[TwistedFate]导航视图控制器
导航视图控制器UINavigationController导航控制器,是iOS中最常⽤的多视图控制器之⼀,它⽤来管理多个视图控制器。 导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器 UINavigationController通过栈的⽅式管理控制器的切换,控制⼊栈和出栈来展⽰各个视图控制器 UINavigationController的ContentView⾥始终显⽰栈顶控原创 2015-11-19 19:37:01 · 462 阅读 · 0 评论 -
[TwistedFate]Label自适应高度
Label的自适应高度创建一个labelUILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 300, 100)];label.numberOfLines = 0;label.font = [UIFont systemFontOfSize:16];label.backgroundColor = [UIColor原创 2015-11-24 20:35:15 · 576 阅读 · 0 评论 -
[TwsitedFate]单例
单例Sington单例类:从程序的开始运行到结束 就只有一个对象 并且不用手动释放,随程序的结束会自动释放单例的作用单例传值(利用了程序运行期间 就一个对象的特点)可以封装操作类(数据操作)+ (MySington *)shareHandle{ // 定义一个静态去的指针 static MySington *handle = nil; // 如果指针指向空的话原创 2015-11-26 14:30:03 · 317 阅读 · 0 评论 -
[TwistedFate]UIWebView的简单使用
UIWebViewUIWebView就是一个可以帮我们打开网站的浏览器界面,我们对这个页面操作就相当于浏览器操作UIWebView使用的三种情况整个几面的排版比较复杂,需要很多判断整个界面整体布局改变非常大需要访问某个网站的时候UIwebView的加载方式利用requset加载// 初始化一个NSURLRequset对象NSURLRequest *request = [NSURLRe原创 2015-12-30 17:34:20 · 408 阅读 · 0 评论 -
[TwistedFate]自定义视图
LTView自定义视图的步骤创建一个继承自UIView的类重写新类的初始化方法把想封装的视图添加封装到 新类里面(初始化到新类中)为了方便外部进行赋值取值 把添加的视图写成属性(别忘了释放内存)测试一下自定义视图的好处提高工作效率 大大提高代码的复用性具体实现自定义Label-TextField视图创建LTView类继承自LTView// 将要创建的控件用属性写在.h文件中@prop原创 2015-11-12 20:54:24 · 507 阅读 · 2 评论 -
22 款开源的 iOS 应用菜单 (Menu) 控件
PaperFoldMenuControllerPaperFoldMenuController 是一个UITabBarController 的替换品,显示了视图控制器在表视图在屏幕的左边。你可以拖动 隐藏/显示左边的菜单。从菜单中选择左边的更改视图控制器在右边。PaperFoldMenuController使用视图控制器安全壳。...Drop Down MenuDIYMenu转载 2015-12-31 20:07:29 · 1026 阅读 · 0 评论 -
[TwistedFate]UICollectionView
集合视图UICollectionViewLayout抽象类,具体功能由他的子类实现, 网状结构的布局创建一个网状的结构布局,设置具体的属性UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];// 最小行间距 layout.minimumLineSpacing = 20; //原创 2015-12-11 20:46:05 · 400 阅读 · 0 评论 -
[TwistedFate]多线程编程NSThread
多线程编程进程,线程正在活动(运行的)一个应用程序,就是一个进程;每一个进程都至少有一个线程,主线程线程:每一个线程都是独立的,可以执行任务除了主线程,剩下的都是子线程,子线程可以有很多个 ,但是线程是耗费资源的(一般不超过5条,3条为佳)主线程操作的任务:一半时间UI界面的现实,按钮的点击,屏幕滚动,基本一切用户能看见的操作均在主线程中操作比较大的耗时操作都可以在子线程中操作 比如:下原创 2015-12-18 21:47:03 · 417 阅读 · 0 评论 -
[TwistedFate]多线程编程NSOperation
常用开启多线程的方法NSOperation 封装一下GCD的方法 提供OC的语法来使用GCD2.GCD 官推 可以最大化的发挥多核CPU 是C语言的函数 NSOperation 是一个抽象类NSBlockOperationNSInvocationOperation线程队列1.串行队列 主线程相当于一个串行队列 队列中的任务 需要一个执行完毕后 再执行下一个2.并行队列 队原创 2015-12-18 22:19:19 · 365 阅读 · 0 评论 -
[TwistedFate]XML JSON数据结构解析
XML数据解析SAX解析simple API for XML解析xml数据- (void)xmlParserUpData{// 利用的是系统的NSXMLParser// xml分析类// 以驱动事件进行xml的解析(利用触发得的代理方法解析)// 特点: 逐行解析// 获取路径 NSString *path = [[NSBundle mainBundle] pathFor原创 2015-12-02 22:39:52 · 418 阅读 · 0 评论 -
[TwistedFate]iOS网络编程
网络编程NSURLurl,统⼀资源定位符,也被称为⺴址,因特⺴上标准的资源⺴址 url的语法: 协议://授权/路径?查询 - url作为网址字符串包含很多请求参数,NSURL对网址字符串进行封装 可以使用NSURL对象获取相应的参数 - absoluteString: http://lily:123456@www.google.com/search? hl=en&source=hp原创 2015-12-03 19:58:31 · 376 阅读 · 0 评论 -
[TwistedFate]Block
BlockC语言block回顾返回值是int类型 求两个数和的blockint (^block)(int, int) = ^int (int a, int b){ return a + b; }; NSLog(@"%d",block(3,5));给block起别名typedef int(^WLBlock)(int a, int b);用别名申明一个block WLBlock n原创 2015-12-02 22:03:22 · 339 阅读 · 0 评论 -
[TwistedFate]TabBarController
TabBarController创建控制器 创建导航控制器// 创建控制器FirstViewController *firstVC = [[FirstViewController alloc] init];// 创建导航控制器UINavigationController *firstNaVC = [[UINavigationController alloc] initWithRootView原创 2015-12-02 21:38:45 · 354 阅读 · 0 评论 -
[TwistedFate]NSURLSession
//所有类型的task都要调用resume方法才会开始请求 (IBAction)BlockButton:(id)sender { //快捷方式获得session对象 NSURLSession *session = [NSURLSession sharedSession]; NSURL *url = [NSURL URLWithString:@”http://mobile.ximalaya.转载 2016-01-05 21:07:47 · 320 阅读 · 0 评论 -
iOS_CoreData的使用
Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。 (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManagedObjectContext(被管理的对象上下文)转载 2016-01-07 19:33:14 · 359 阅读 · 0 评论 -
[TwistedFate]图片异步加载,KVO
异步下载图片自定义类imageDownLoader类思路: - 异步下载图片首先需要一个网址字符串 (需要传入一个字符串) - 加载完图片数据需要将一个data传给controller显示(代理传值) - 考虑到异步加载可能成功,也可能失败 代码实现: - 定义协议// 创建一个协议@protocol ImageDownLoadDelegate <NSObject>// 请求成功-原创 2015-12-05 14:46:54 · 374 阅读 · 0 评论 -
[TwistedFate]KVO监测Model图片加载
KVO监测Model图片加载使用上一篇的ImageDownLoader类 目的:网络请求数据时,由于图片比较大,加载较慢,可以先加载数据,并显示,而图片可以之后分开加载,加载完再显示详细步骤在加载数据的model类中添加属性,方法及遵守协议<ImageDownLoadDelegate>// 请求图片类@property (nonatomic, retain) ImageDownLoade原创 2015-12-07 20:17:14 · 469 阅读 · 0 评论 -
[TwistedFate]UITableViewCell自定义-02
UITableViewCell自定义cell分区的行高自适应采用类方法,是为了在返回cell的行高时调用// 计算字符串的高度+ (CGFloat)cellHeightForModel:(NewsModel *)model{ // 创建字体大小的字典 // 字面量初始化 NSDictionary *dic = @{NSFontAttributeName : [UIFon原创 2015-11-24 22:03:09 · 374 阅读 · 0 评论 -
[TwistedFate]UITableViewCell自定义-01
自定义cell步骤:创建TableViewCell的子类重写初始化方法要添加的控件添加到到cell的现实内容区域contentView上面 把系统的cell 替换成自定义cell 完成创建MyTableViewCell类// 自定义初始化- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(原创 2015-11-24 20:22:30 · 401 阅读 · 0 评论 -
[TwistedFate]UIButton 应用启动流程
UIButton初始化UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];设置位置button.frame = CGRectMake(100, 100, 100, 100);设置颜色button.backgroundColor = [UIColor greenColor];设置标题// 三种状态[button setTit原创 2015-11-11 23:16:38 · 349 阅读 · 0 评论 -
[TwistedFate]UIView UILabel
MRC下属性的属性MRC retain assign ARC retain相当于strong 一般修饰对象 assign相当于weak 一般修饰基本数据类型window初始化// 打印满屏的boundsself.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelea原创 2015-11-10 22:20:43 · 474 阅读 · 0 评论 -
[TwistedFate]UITextField
UITextField初始化UITextField *textFiled = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];textFiled.backgroundColor = [UIColor whiteColor];textFiled.text = @"曹青衣";对齐方式// 中央对称textFiled原创 2015-11-11 23:00:01 · 364 阅读 · 0 评论 -
[TwistedFate]容器视图控制器 视图生命周期
容器视图控制器如果不想替换控制器的自带视图self.view 就在viewDidLoad方法中书写添加SecondViewController作为根视图控制器的子控制器// 添加子控制器 self.secondVC = [[SecondViewController alloc] init]; // 把secondVC添加成子控制器 让rootVC去管理 // secondVC原创 2015-11-14 10:29:49 · 376 阅读 · 0 评论 -
[TwistedFate]触摸事件 晃动事件 target/action
触摸事件的方法创建TouchView类 并在根视图控制器里初始化 类里 添加触摸事件响应方法- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"开始摸"); // UITouch保存手指的信息 例如触摸的点// UITouch *touch = [touches anyObjec原创 2015-11-14 11:37:05 · 522 阅读 · 0 评论 -
[TwistedFate]代理设计模式
使用协议代理的步骤 先创建协议 1.遵守协议 2.实现协议中的方法 3.设置代理(添加代理对象为实例变量) –(谁需要代理 在那个类里声明实例变量) 4.添加设置代理对象的方法(set方法) 5.让代理干活(让代理去调用协议中的方法) 6.从main创建对象 设置代理对象点击UIImageView换背景色创建协议@protocol UIButtonImageViewDelegate <原创 2015-11-16 19:56:13 · 365 阅读 · 0 评论 -
[TwistedFate]手势识别器
手势识别器抽象类:这个类是抽象类 其具体功能 交给子类去实现 (省代码) ⼿势识别器是对触摸事件做了封装,我们⽆需⾃⼰去判断某个⼿势 是否触发,⼿势识别器本⾝起到了识别作⽤,我们把重⼼放在识别之 后要做什么操作上⾯ 根视图准备满屏的ImageView// 创建imageView 添加手势用 UIImageView *imageV = [[UIImageView alloc] init原创 2015-11-16 20:13:41 · 318 阅读 · 0 评论 -
[TwistedFate]数据库初级使用
SQLite数据库使用步骤: 1. 引入libsqlite3.0框架 2. 在数据库操作类里 引入创建单例类实现数据库的管理使用// 单例的初始化方法+ (SQLiteManager *)shareManager;// 插入数据- (void)insertTableWithStudent:(Student *)stu;// 删除数据- (void)deleteWithAge:(NSI原创 2015-12-08 20:25:57 · 417 阅读 · 0 评论 -
[TwistedFate]初级数据持久化
初级数据持久化沙盒沙盒机制每一个APP安装到手机上或者模拟器上, 都会自动生成三个文件夹 这三个文件夹叫沙盒 可以理解为这个APP的沙盒每个APP的文件夹都是相对独立的 只能自己的应用去访问 不可以互相访问文件夹中 存储的是 代码以外的 所有数据 例如(图片素材 声音 视频 文档等)也就是说 持久化文件(缓存文件)可以存储到 文件夹中打开沙盒的各个文件夹路径- (void)path{原创 2015-12-07 20:44:53 · 504 阅读 · 0 评论 -
[TwistedFate]UIActionSheet
UIActionSheet上拉菜单:基本常用方法与弹窗AlertView差不多初始化UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"确认删除?" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitle原创 2015-11-16 22:08:56 · 332 阅读 · 0 评论 -
[TwistedFate]UIAlertView
AlertView初始化UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"确定删除?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];添加button[alert addButtonWithTitle:@"注册"];修原创 2015-11-16 21:57:31 · 333 阅读 · 0 评论 -
[TwistedFate]UISegmentedControl
1原创 2015-11-16 22:16:38 · 544 阅读 · 0 评论 -
[TwistedFate]滑块UISlider 跑图UIImageView
UISlider初始化及设背景色UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(40, 100, 300, 20)];slider.backgroundColor = [UIColor redColor];设置轨迹颜色[slider setMinimumTrackTintColor:[UIColor greenColor]原创 2015-11-17 19:23:30 · 577 阅读 · 0 评论 -
[TwistedFate]UITableView表视图
表示图TableView表视图UITableView,iOS中最重要的视图,随处可⻅见。表视图通常⽤用来管理⼀一组具有相同数据结构的数据. 步骤与之前一样,先创建根视图,因为tableView的实现方法比较多,可以创建一个addTableView方法,然后在视图控制器的viewDidLoad中调用.初始化以及代理设置- (void)addTableView{// 初始化UITableVie原创 2015-11-21 19:21:02 · 430 阅读 · 0 评论 -
[TwistedFate]UIScrollView UIPageControl
UIScrollView初始化及添加背景色UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];scrollView.backgroundColor = [UIColor cyanColor];设置显示内容区域scrollView.contentSize = CGSi原创 2015-11-18 19:42:01 · 332 阅读 · 0 评论 -
[TwistedFate]UITableView表视图编辑,移动
UITableView编辑数据准备// 初始化数据- (void)initializeData{ NSArray *array = @[@"0", @"1", @"2", @"3", @"添加"]; NSArray *array2 = @[@"0", @"1", @"2", @"3", @"4", @"添加"]; self.firstArray = [NSMutableAr原创 2015-11-23 19:10:32 · 467 阅读 · 0 评论 -
iOS国际化
1、iOS程序名称国际化1.1 新建一个Single View app模版项目,命名为Localization。1.2 新建后,可以看到工作目录结构文件如下,单击InfoPlist.strings,查看右边的属性,在Localization栏添加语言。 1.3 添加完成后打开对应语言文件,比如English的添加CFBundleDisplayN转载 2016-07-04 13:37:33 · 445 阅读 · 0 评论