自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (2)
  • 收藏
  • 关注

转载 使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-07-29 00:47:08 258

原创 欢迎使用CSDN-markdown编辑器

1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 NSMutableString * str=[[NSMutableString alloc] initWithFormat:@”tel:%@”,@”186xxxx6979”]; // NSLog(@”str======%@”,str); [[UIApplication shar

2016-12-06 09:48:06 301

原创 Swift-闭包简单使用

//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/**闭包(Closures):闭包:是自包含的代码块,可以在代码中被传递和使用闭包可以捕获和存储其所在上下文中任意常量和变量的引用,这就是所谓的闭包并包裹着这些常量和变量,俗称闭包.闭包的几种形式:1,“全

2015-08-21 20:32:32 467

原创 Swift-函数

//: Playground - noun: a place where people can playimport UIKit// 定义`函数`// OC 的 风格 - (void)函数名(参数) {}/** 函数定义格式 func 函数名(参数列表) -> 返回值 {// 代码实现} * -> 是 swift 特有的,表示 前面的执行结果,输出给后面的*/func

2015-08-18 23:34:25 381

原创 Swift-字典

//: Playground - noun: a place where people can playimport UIKit// 定义一个字典,仍然使用 []// 以下代码定义的字典类型是:[String : NSObject]// 在目前的 swift 版本中,定义字典通常使用 [String : NSObject]// 大多数情况下,key的类型是固定的let dict = ["na

2015-08-18 23:33:39 403

原创 Swift-数组

//: Playground - noun: a place where people can playimport UIKit// 使用 []// 定义的数组类型是 [String]// 表示数组中,只能存放 字符串// 在 oc 中的数组,分可变和不可变// swift中 let 是不可变的, var 是可变的let array1 = ["zhangsan", "lisi"]// 遍历

2015-08-18 23:32:57 352

原创 Swift-字符串

//: Playground - noun: a place where people can playimport UIKit/** if 在 C 语言中有一个特点:非零即真 if (_dataList == nil) { } * 在 swift 中,没有非零即真的概念!只有 true/false * 在编写分支语句是,必须准确的指定条件的真假*/let i

2015-08-18 23:31:48 327

原创 Swift-循环

//: Playground - noun: a place where people can playimport UIKit// 传统的写法,几乎一样// 注意:需要使用 var 而不是 letfor var i = 0; i < 10; i++ { println(i)}// 更加方便的写法// in 指定范围 0~9// 早期的 swift 语法 .. 后来改成了 ..<

2015-08-18 23:30:01 296

原创 Swift-分支

//: Playground - noun: a place where people can playimport UIKit/** if 在 C 语言中有一个特点:非零即真if (_dataList == nil) {}* 在 swift 中,没有非零即真的概念!只有 true/false* 在编写分支语句是,必须准确的指定条件的真假*/let i = 10/** 1>

2015-08-18 23:28:26 299

原创 tableView-自定义非等高cell(2)

0603-9方法一: 返回每行的真实高度,创建临时cell(不能够利用缓冲池重用优化),浪费大量内存 heightForRowAtIndexPath:返回每一行的高度 此方法中调用cellForRowAtIndexPath会造成死循环(通过行号先获取cell,会先创建cell,在创建之前会先获取高度,又会调用当前方法…)cellForRowAtIndexPath:创建每一行cell前的调

2015-08-15 01:20:45 560

原创 tableView-自定义非等高cell(1)

非等高的cell xib自定义cellstoryboard自定义cell代码自定义cell(frame)代码自定义cell(Autolayout)自定义非等高cell-xib(1)布局内容,返回每一行的高度为固定值常规设置自定义控制器类 懒加载,面向模型开发,将字典转为模型,以后数据通过模型获得实现数据源和代理类方法#import "WQViewController.h"#imp

2015-08-15 01:14:09 559

原创 tableView - 自定义等高cell(frame和masonry方式)

代码自定义cell方法代码自定义cell(使用frame) 1.创建一个继承自UITableViewCell的子类,比如WQDealCell 在initWithStyle:reuseIdentifier:方法中 添加子控件设置子控件的初始化属性(比如文字颜色、字体)在layoutSubviews方法中设置子控件的frame需要提供一个模型属性,重写模型的set方法,在这个方法中设置模型

2015-08-15 01:04:50 1293

原创 tableView - 自定义等高cell-xib方式

xib自定义cell1.创建一个继承自UITableViewCell的子类,比如WQDealCell2.创建一个xib文件(文件名建议跟cell的类名一样),比如WQDealCell.xib 拖拽一个UITableViewCell出来修改cell的class为XMGDealCell设置cell的重用标识往cell中添加需要用到的子控件3.在控制器中 利用registerNib…方法注

2015-08-15 01:03:20 607

原创 Swift-常量(let)和变量(var)

Xcode中使用playground来预览代码及运行结果 见名知意, playground即游乐场 常量&变量简单体验// 定义变量var i = 10println(i)i = 15println(i)let j = 20// 常量一经定义不能自改数值// j = 25println(j)阶段性小结 var 定义变量,设置之后可以修改let 定义常量,设置之后不

2015-08-15 00:59:26 575

原创 Swift-入门简介

Swift 入门简介Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序2014 年,在 Apple WWDC 发布历史2010 年 7 月,苹果开发者工具部门总监 克里斯·拉特纳 开始着手 Swift 编程语言的设计工作用一年时间,完成基本架构Swift 大约历经 4 年的开发期,2014 年 6 月发表特色苹果宣称 Swift 的特点是:快速、

2015-08-15 00:21:02 321

原创 tableView - 自定义等高cell-storyBoard方式

自定义等高cell-storyBoard方式自定义控制器类 1.创建一个继承自UITableViewController的子类,比如WQDealsTableViewController 2.实现需要的数据源和代理方法.3.实现懒加载,获取数据模型.4.创建自定义cell.#import "WQDealsTableViewController.h"#import "WQdealsData.

2015-08-11 23:40:05 428

原创 tableViewCell - 常见设置

UITableViewCell的常见设置分割线颜色 分割线颜色,系统自带的分割线两边是不到屏幕边缘,当边缘有图片时更加明显,达不到所要的要求解决:可以将系统的分割线隐藏,自定义一个view,位置紧贴cell底部,设置为亮灰色,高度为1,如果太粗可以设置提高透明度 //self.tableView.separatorColor = [UIColor redColor]; // 隐藏

2015-08-10 21:51:27 879

原创 tableView - 常用代理方法

tableView的常用代理方法#pragma mark - <UITableViewDelegate>一般用于tableview的时间监听,比如选中和编辑/** * 选中某一行的时候调用(点击某一行) * * @param indexPath 被选中的那一行 */- (void)tableView:(UITableView *)tableView didSelectRowAtInd

2015-08-10 21:37:38 644

原创 tableView- 性能优化,cell的循环利用三种方式

tableView性能优化 - cell的循环利用方式1/** * 什么时候调用:每当有一个cell进入视野范围内就会调用 */- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ // 0.重用标识 // 被static

2015-08-10 21:34:19 537

原创 模式 - KVC

- KVC(Key Value Coding) - 常见作用:给模型属性赋值 /**IOS应用开发是遵循MVC设计模式的,Cocoa框架用Object Modeling的规则来规范一个Model的实现。ObjectModeling有如下几个概念的规定:Entity:表示持有数据的一个实体Property实体中的成员,分为Attribute和:RelationshipAttribute:基本类型的

2015-08-10 21:28:34 343

原创 模式 - KVO

KVO: Key Value Observing常用作用:监听模型属性值的改变- (void)viewDidLoad{ self.p1 = [[WQPerson alloc] init]; self.p1.name = @"oldName"; // 利用KVO时刻监听mainV的frame属性 // Observer:观察者 谁想监听 // KeyPath

2015-07-09 21:45:24 270

原创 模式 - 单例(定义为宏)

所谓单例,即我们自己创建一个单例类,该类只能生成唯一的对象 创建一个WQPerson类的单例#import <Foundation/Foundation.h>@interface WQPerson : NSObject/** 姓名*/@property (nonatomic, strong) NSString *name;/** 年龄*/@property (nonatomic, ass

2015-07-09 21:41:00 310

原创 模式 - 代理模式

监听事件也可以通过代理方法进行监听 在使用的时候可以使用对象的点语法看看有没delegate属性代理也可以用来解耦,当两个类相互引用时可以用代理解耦 id<协议>delegate,让任何遵守协议的代理都可以实现监听,实现协议方法/** * 代理设计模式的作用: * 1.A对象监听B对象的一些行为,A成为B的代理 * 2.B对象想告诉A对象一些事情,A成为B的代理

2015-06-30 20:20:59 352

原创 模式 - 通知机制

##通知机制每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知通知(NSNotification)一个完整的通知一般包括三个属性-

2015-06-30 20:14:56 331

原创 tableView - 点击加载更多(通知)

0527-6tableViewHeaderHeView - tableView的tableFooterView的宽度是填充屏幕的, - 里面的子控件宽度会被拉伸,如果不想被拉伸,可以先添加view,再向view上加控件 - 一般用来显示退出登录,或者加载更多控制器中的操作- (void)viewDidLoad { [super viewDidLoad]; // 监

2015-06-30 20:12:10 449

原创 tableView - 批量操作

自定义选中效果增加自定义选中图片,控制其显示和隐藏在数据模型中增加bool属性,默认为NO,判断是否隐藏 不能直接对cell操作,否则在cell重用的时候会错监听didSelectRowAtIndexPath方法,然后对选中行的是否隐藏属性取反还一种思路就是可以将选中的数据模型保存在一个可变数组中进行操作(不推荐)#pragma mark - TableView代理方法- (void)

2015-06-22 23:59:44 592

原创 tableView - 编辑模式

左划删除按钮#pragma mark - UITableViewDelegate/* *只要实现这个代理方法,左划cell删除按钮就有了 *在编辑模式下:用户提交了添加(点击了添加按钮)\删除(点击了删除按钮)操作时就会调用 */- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellE

2015-06-22 23:49:37 514

原创 tableView - 数据刷新

tableView数据刷新方法重新刷新屏幕上的所有cell没有动画效果[self.tableView reloadData];刷新特定行的cell有动画效果[self.tableView reloadRowsAtIndexPaths:@[ [NSIndexPath indexPathForRow:0 inSection:0], [NSIndexPath i

2015-06-19 01:14:02 752

原创 按钮内部文字(titleLabel)和图片(imageView)的位置排布方式

方式一 当一个类继承或者是UIButton类的时候可以调用以下方法对titleLabel和imageView进行位置排布- (CGRect)imageRectForContentRect:(CGRect)contentRect{ return CGRectMake(0, 0, contentRect.size.width, contentRect.size.height);}- (C

2015-06-17 00:17:18 668

原创 UIPickerView - 城市选择

城市数据模型#import <Foundation/Foundation.h>@interface WQProvinceData : NSObject/** 城市*/@property (nonatomic, strong) NSArray *cities;/** 城市名称*/@property (nonatomic, strong) NSString *name;+ (instance

2015-06-11 22:11:41 552

原创 UIDatePicker - 键盘处理-选择日期

#import "ViewController.h"@interface ViewController ()<UITextFieldDelegate>@property (weak, nonatomic) IBOutlet UITextField *birthdayField;@property (nonatomic, weak) UIDatePicker *datePicker;@end@imp

2015-06-11 22:10:55 396

原创 pickerView - 选择国旗,单列同时滚动

数据模型: - 在使用KVC模式时,如果字典中存储了图片名,可以直接声明UIImage属性,通过重写setter方法,直接赋值, - 好处:在给子控件赋值时,统一使用点语法#import <UIKit/UIKit.h>@interface WQFlagData : NSObject/**name*/@property (nonatomic, strong) NSString *n

2015-06-11 22:09:44 442

原创 pickerVIew - 点餐,每列单独选择

typedef enum { WQFoodFruit, WQFoodMainFood, WQFoodDrink};#import "ViewController.h"// 分屏:cmd + option + return// 退出分屏:cmd + return@interface ViewController ()<UIPickerViewDelegate,UIPicke

2015-06-11 22:07:00 541

原创 PickeView常用

```objc#pragma mark - 数据源,以下为@required的方法// 返回pickerView有多少列- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ NSLog(@"numberOfComponentsInPickerView"); return 3;}//

2015-06-11 22:05:32 386

原创 编程常用英语单词(二)

网址:http://www.ryedu.net/syy/hyyy/200912/15824_2.htmlobject 对象object based 基于对象的object file 目标文件object model 对象模型object oriented 面向对象的object pooling 对象池化ODBC data source ODBC数据源 (f

2015-06-06 22:38:32 708

原创 编程常用英语单词(一)

网址:http://www.ryedu.net/syy/hyyy/200912/15824_2.htmlA2A integration [,inti'ɡreiʃən] A2A整合 abstract ['æbstrækt, æb'strækt] 抽象的 abstract base [beis] class (ABC)抽象基类abstract class 抽

2015-06-06 22:35:00 1975

原创 scrollView-contentOffset和UIViewAnimation动画执行

ScrollView的基本概念ScrollView是什么?移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容普通的UIView不具备滚动功能,不适合显示过多的内容UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 举例:手机上的“设置”Scro

2015-05-31 13:13:28 4965

原创 自定义View(加载Xib方式)

xib的使用Xib和Storyboard的对比共同点:都用来描述软件界面都用Interface Builder工具来编辑本质都是转换成代码去创建不同点Xib是轻量级的用来描述局部的UI界面Storyboard是重量级的,用来描述整个软件的多个界面,并且能够展示多个界面之间的跳转关系.Xib的加载方式:第一种(推荐使用):NSArray *views = [[NSBundle main

2015-05-30 20:18:19 2851

原创 自定义view封装-用Button显示商品图片和名称

显示的商品被封装起来,只需要修改WQShopView文件即可,其余的文件不用修改#import <UIKit/UIKit.h>@class WQShopData;@interface WQShopView : UIButton@property (nonatomic, strong) WQShopData *shopData;@end#import "WQShopView.h"#impo

2015-05-30 19:31:48 440

原创 自定义View的封装(代码方式)

view的封装如果一个view内部的子空间比较多,一般会考虑自定义一个view,把它内部子控件的创建屏蔽起来,不让外界关心外界可以传入对应的数据模型给view,view拿到模型数据后给内部的子控件设置对应的数据封装控件的基本步骤第一步:在initWithFrame:方法中添加子控件,提供便利构造 调用init方法,会自动调用initWithFrame:方法- (instancetype)

2015-05-30 19:30:42 473

组件收集信息

自定义的一些组件,大家可以借鉴设计,xminde思维导图可以直接打开

2018-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除