UI
ios践行者
这个作者很懒,什么都没留下…
展开
-
NSBundle 的常用方法
1.取出问价的路径NSString *path = [[NSBundlemainBundle] pathForResource:@"tgs.plist"ofType:nil];原创 2015-07-05 11:20:55 · 315 阅读 · 0 评论 -
tableView的显示步骤
#tableView在创建的时候会调用里面的方法,具体调用步骤如下1.有多少组-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView2.第section组头部控件有多高-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSecti原创 2015-10-04 10:12:42 · 479 阅读 · 0 评论 -
通过代码自定义cell(cell的高度不一致)
1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)3.提供2个模型 数据模型: 存放文字数据\图片数据 frame模型: 存放数据模型原创 2015-10-04 21:49:49 · 370 阅读 · 0 评论 -
UIPickerView和UIDatePicker
1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id dataSource; // 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择) @property(nonatomic,assign) id delegate; //原创 2015-10-05 20:52:12 · 344 阅读 · 0 评论 -
在iOS中如何创建一个控制器
1.直接创建 LROneViewController *one = [[LROneViewController alloc] init];2.通过storyboard创建通过instantiateInitialViewController获得 1.创建一个 storyboard 并将控制器拖入storyboard中,在storyboard的设置中将instantiateInitialViewC原创 2015-10-07 17:29:20 · 364 阅读 · 0 评论 -
iOS中常见的项目文件
Info.plistLocaliztion native development region 本地化相关Bundle display name 程序安装后显示的名称,限制在10-12个字符,如果超出,将被显示缩写名称Icon file app图标名称Bundle version 应用程序的版本号,每次往App Store上发布一个新版本时,需要增加这个版本号Main storyboard原创 2015-10-07 11:42:45 · 335 阅读 · 0 评论 -
根据文字内容和设定maxSize计算文字的width、height
根据文字内容和设定maxSize计算文字的width、height1.调用的方法(CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext原创 2015-09-19 21:45:49 · 790 阅读 · 0 评论 -
如何加载控制器View
控制器View的创建 注意:控制器的view加载完毕就会调用viewDidLoad方法 1.看看控制器有没有实现loadView方法 2.看看控制器是如何创建的 可以通过storyboard xib 两种方法 3.控制器创建的时候只是通过alloc init创建的 那么程序就先加载和控制器同名的Xib 如何这个Xib没有 那么就加载和控制器去掉Controller同名的Xib 如何这些都原创 2015-10-09 15:26:26 · 435 阅读 · 0 评论 -
在UIButton中如何将imageView和titleView居中且上下分布
在UIButton中如何将imageView和titleView居中且上下分布1.首先我们向button中添加图片设置文字//创建一个button UIButton *btn = [[UIButton alloc] init]; [self.view addSubview:btn]; btn.frame = CGRectMake(100, 200, 90, 90); b原创 2015-09-20 13:57:25 · 7613 阅读 · 3 评论 -
控制器的生命周期方法题及内存警告时的处理
1.图解2.方法解释- (void)loadView{ //一定调用父类的方法 [super loadView]; //在这里实例化self.view //一般不重写这个方法 SHOW_FUNC;}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup afte原创 2015-10-09 16:14:48 · 358 阅读 · 0 评论 -
沙盒
沙盒目录Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录Library/Caches:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备原创 2015-10-11 10:41:35 · 388 阅读 · 0 评论 -
UIApplication,AppDelegate,程序启动流程
UIApplication的简介UIApplication对象是应用程序的象征每一个应用都有自己的UIApplication对象,而且是单例的通过[UIApplication sharedApplication]可以获得这个单例对象一个iOS程序启动后创建的第一个对象就是UIApplication对象利用UIApplication对象,能进行一些应用级别的操作UIApplication的原创 2015-10-11 15:19:56 · 1426 阅读 · 0 评论 -
UISearchController
注意一定要将searchController设置为成员属性,不然会达不到想要的结果 要掌握searchController 建议查询苹果的官方文档@interface LRMessageTableViewController ()<UISearchResultsUpdating,UISearchBarDelegate>@property(nonatomic,strong)UISearchCont原创 2015-10-13 10:06:44 · 533 阅读 · 0 评论 -
导航控制器UINavigationController
1.导航控制器属于栈结构 本身不显示内容 需要一个主视图控制器来显示内容 UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:fvc];2.UINavigationController以栈的形式保存子控制器@property(nonatomic,copy) NSArray原创 2015-10-09 16:02:01 · 315 阅读 · 0 评论 -
数据持久化的方法
属性列表属性列表是一种XML格式的文件,拓展名为plist 如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中 读取方法ContentsOfFile偏好设置 NSUserDefaults一定要设置数据的持久化[defaults synchornize]原创 2015-10-11 10:48:47 · 449 阅读 · 0 评论 -
UIStoryboardSegue
在storyboard中设置segue的identifier基本属性//标示便于在storyboard中找到@property (nullable, nonatomic, copy, readonly) NSString *identifier;//源控制器@property (nonatomic, readonly) __kindof UIViewController *sourceView原创 2015-10-11 10:17:55 · 420 阅读 · 0 评论 -
UITableView常用属性和一些小知识点
tableView的样式1.分段显示UITableViewStylePlain 分段显示,当滑动tableView的时候每组的头部会顶在最上方知道该组所有内容消失换成下一组 2.分组显示 UITableViewStyleGrouped tableView显示每组头部和尾部的文字通过以下两个方法设置,同样tableView的样式不同显示就不同,如上图所示- (NSString *)tableV原创 2015-10-04 10:41:57 · 432 阅读 · 0 评论 -
代理设计模式
1.Delegate的使用场合对象A内部发生了一些事情,想通知对象B对象B想监听对象A内部发生了什么事情对象A想在自己的方法内部调用对象B的某个方法,并且对象A不能对对象B有耦合依赖对象A想传递数据给对象B……以上情况,结果都一样:对象B是对象A的代理(delegate)2.使用delegate的步骤1.先搞清楚谁是谁的代理(de原创 2015-07-06 00:45:42 · 330 阅读 · 0 评论 -
活动指示器 UIActivityIndicatorView
活动指示器的创建@interface LRUIActivityIndicatorViewViewController ()/**活动指示器*/@property(nonatomic,weak)UIActivityIndicatorView *aiv;//活动指示器一般作为成员变量 或者全局变量 供多个函数或界面使用@end/**活动指示器*/@implementation LRUIActivi原创 2015-09-28 09:49:32 · 656 阅读 · 0 评论 -
UIAlertView 警告框
警告框需要注意的问题深色的按钮通常必须是无害按钮(如取消按钮等)iPhone开发文档是不推荐拥有3个以上(包括3个)按钮的警告框的,如果确实需要那么多选择支,可考虑使用操作表(Action Sheet)控件详情见代码创建警告框1.第一种方法创建 //创建警告栏 设置警告栏的代理对象为self 单个按钮 UIAlertView *alertView = [[UIAlertView al原创 2015-09-27 20:27:33 · 615 阅读 · 0 评论 -
UIStepper 计步器
UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(100, 100, 0, 0)]; self.stepper = stepper; //设置宽高没有用 [self.view addSubview:stepper]; //1.设置最大值 最小值 当前值 stepper.maximum原创 2015-09-28 10:38:56 · 375 阅读 · 0 评论 -
UISlider滑块
滑块的基本属性滑块要设置宽高,高度过小,不能进行滑动minimumValue 最小值 maximumValue最大值 一般设置为0和1value滑块当前的值minimumValueImage 最小值的图片 maximumValueImage最大值的图片thumbTintColor 设置滑块的颜色tintColor设置滑块的镂空颜色 即滑块滑动过后的颜色滑块的一些方法滑块变化时的响应原创 2015-09-27 16:13:55 · 496 阅读 · 0 评论 -
UIActionSheet 操作表
操作表的创建 UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"分享" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"警告按钮" otherButtonTitles:@"动作1",@"动作2", nil]; sheet.actionSheet原创 2015-09-28 08:50:12 · 513 阅读 · 0 评论 -
选择控件 UISegmentedController
NSArray *items = @[@"选择",[[UIImage imageNamed:@"001"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal],@"插入"]; UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:items原创 2015-09-28 11:29:54 · 705 阅读 · 0 评论 -
进度条 UIProgressView
@interface LRUIProgressViewViewController ()@end@implementation LRUIProgressViewViewController{ UIProgressView *_pv; NSTimer *_timer;}- (void)viewDidLoad { [super viewDidLoad]; [self c原创 2015-09-28 13:16:50 · 436 阅读 · 0 评论 -
文本框 UITextView
UITextView基本属性 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(100, 100, 200, 300)]; [self.view addSubview:textView]; //UITextView是UIScrollView的子类,滚动视图如果检测到当前视图控制器在导航上,会自动留出导原创 2015-09-28 20:01:10 · 443 阅读 · 0 评论 -
automaticallyAdjustsScrollViewInsets
iOS 7 viewcontroller新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationbar与tabbar的高度,自动调整scrollview的 inset 默认是YES 设置为NO 不自动调整scrollView的inset就拿UITextView举例 UITextView继承与scrollView 设置为NO时UI原创 2015-09-28 17:45:09 · 1937 阅读 · 0 评论 -
表的编辑
1.单元的删除和添加执行的步骤(以下方法都是tableView的数据源和代理方法)1.将表格变成可编辑状态self.tableView.editing = YES;2.设置指定单元能否被编辑,这一步不设置默认都能被编辑- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{原创 2015-10-04 20:52:04 · 358 阅读 · 0 评论 -
自定义UITableView每组头部控件
1.创建一个继承UITableViewHeaderFooterView的类,拥有一个模型2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)- (instancetype)initWith原创 2015-10-05 12:34:55 · 3417 阅读 · 0 评论 -
如何使用xib自定义UITableViewCell
如何使用xib自定义UITableViewCellxib文件的创建和添加控件创建一个xib文件 xib中拖入一个tableViewCell 在将需要添加的控件拖入到cell中 创建一个继承于UITableViewCell的类,该类用来管理Xib cell中的控件 并且在.m文件中添加以下代码 用来和Xib cell中的空间进行托线将xib的class改为我们创建的类 2.将xib cell 中的原创 2015-09-24 13:59:38 · 3259 阅读 · 1 评论 -
UITableViewCell
tableViewCell的简介UITableView的每一行都是一个UITableViewCell,通过dataSource的tableView:cellForRowAtIndexPath:方法来初始化每一行辅助指示视图的作用是显示一个表示动作的图标可以通过设置UITableViewCell的accessoryType来显示,默认是UITableViewCellAccessoryNone(不显原创 2015-10-04 22:08:47 · 458 阅读 · 0 评论 -
UITableViewDelegate方法
UITableView代理方法更多的集中到对tableView的操作中 1.选中某行cell调用此方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath2.自定义每组头部的view 需要使用到UITableViewHeaderFooterView- (UIView *原创 2015-10-03 20:36:04 · 1537 阅读 · 1 评论 -
如何在使用storyboard中使用tableViewController中的Prototype Cells 自定义cell
特别提醒在cell的循环使用中,我们一定做到以下两点 1.将cell的数据覆盖掉 2.将cell的状态覆盖掉1.选中Prototype Cells做一下操作1.在设置属性一栏将style设置为custom 2.设置identifier便于以后cell创建和循环使用 3.将cell需要展示的控件拖到Prototype Cells中 2.创建一个继承UITableViewCell的类用来管理Pr原创 2015-10-04 21:20:50 · 4793 阅读 · 0 评论