UI
lsfreda
小白
展开
-
iOS 启动基本流程及基础控件
iOS 基本启动流程int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }}在以上的 main 函数中将功能都跳转到 UIApplication原创 2015-11-07 09:30:30 · 301 阅读 · 0 评论 -
记录几个 CALayer 的重要属性 (三)
记录有关边框配置borderWidth : 配置边框宽度@property CGFloat borderWidth;/* The width of the layer's border, inset from the layer bounds. The * border is composited above the layer's content and sublayers and *原创 2015-10-31 17:05:10 · 270 阅读 · 0 评论 -
UI --- UIView 画圆和矩形
UIView原创 2015-10-30 20:02:33 · 649 阅读 · 0 评论 -
UI --- Xcode7 模拟器运行时崩溃解决方法
在 AppDelagate.m 文件的第一个方法中添加以下代码:UIViewController *viewVC = [[UIViewController alloc] init];viewVC.view.hidden = YES;self.window.rootViewController = viewVC;[viewVC release];整个方法如下:- (BOOL)applicatio原创 2015-10-30 20:16:38 · 496 阅读 · 0 评论 -
storyboard : 在 UITableViewController 中使用自定义
storyboard : 在 UITableViewController 中使用自定义 cell首先要先创建一个自定义的继承于 UITableViewCell 的类, 这里我将它命名为 MessageCell .在storyboard 中的 UITableViewController 的 cell 进行配置, 添加自定义的控件将 cell 和 MessageCell 进行关联, 即 cell原创 2015-11-22 14:52:36 · 512 阅读 · 0 评论 -
iOS 拨打电话的方法总结
最近要做 iOS拨打电话的功能, 先攒着……1 . 这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"110"];[[UIApplication sharedApplication] openURL:[NSURL UR原创 2015-11-16 22:07:11 · 302 阅读 · 0 评论 -
iOS 打开相册或相机
iOS图片 : 打开相机或打开相册 首先, 在应用中打开相机或者是打开相册都会有一个弹窗之类的,让用户选择到底是打开相册,还是打开相机这里我们以弹出对话框为例首先对 UIImageView 添加一个轻拍手势, 在轻拍手势的方法中创建一个 UIActionSheet 的对象 //在本类中要遵从 UIActionSheetDelegate 协议 UIActionSheet *sheet =原创 2015-11-23 21:56:07 · 390 阅读 · 0 评论 -
UITabBarController
UITabBarController UITabBarController 用来管理具有并列关系的视图控制器, (包括 UINavigationController 和 UIViewController), 多个界面同时存在UITabBarController的相关属性//初始化三个UIViewController, 一个 UINavigationController, 一个 UITabBar原创 2015-11-18 22:21:12 · 300 阅读 · 0 评论 -
UICollectionView
UICollectionView 集合视图(UICollectionView) , 可以说是 UITableView 的拓展, 不仅可以多行展示, 还可以有多列, 主要用于视图的展示 , 在创建UICollectionView 时, 还需要创建布局对象(UICollectionViewFlowLayout).在 UICollectionView 初始化时, 如果不用布局对象初始化, 将会出现原创 2015-11-30 22:01:00 · 294 阅读 · 0 评论 -
多线程的使用
多线程的使用创建子线程的几种方式①第一种方式 : 使用线程类 NSThread[NSThread detachNewThreadSelector:@selector(task1) toTarget:self withObject:nil];②第二种方式 : 使用线程类, 需要手动开启子线程NSThread *thread = [[NSThread alloc] initWithTarget:sel原创 2015-12-01 21:48:09 · 274 阅读 · 0 评论 -
OC多线程
多线程 在今天的多线程中主要包括以下几个方面:①串行队列②并行队列③分组队列④一次性⑤障碍队列⑥延迟⑦重复1. 串行队列 一个应用只有一个主线程, 主线程主要用于用户交互和界面显示创建串行队列//(1). 获取系统创建好的串行队列, 在主线程中实现线程同步(C 语言层级, 执行效率非常高, 但容易出现卡顿), 获取方法如下:dispatch_queue_t queue1 = dispat原创 2015-12-01 20:48:04 · 469 阅读 · 0 评论 -
给只有 backgroundColor 属性的类设置背景图片
view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@”ditu1.png”]];原创 2015-12-01 20:47:13 · 767 阅读 · 0 评论 -
最近东西比较多, 做个记录
1. 设置状态条的样式//设置状态条的样式- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent;}3. 点击 Return 回收键盘//当前类需要服从 UITextFieldDelegate 协议, 之后实现 - (BOOL)textFieldShouldReturn:(UIT原创 2015-11-16 21:42:24 · 257 阅读 · 0 评论 -
iOS 本地数据持久化
本地数据持久化1. 使用本地文件读写方式的本地数据持久化 对于通过本地文件读写方式的本地数据持久化来说, 只支持 字符串, 数组, 字典, 二进制数据(NSData)字符串的读写 /字符串的写入过程(实现文件内容拼接)/ //1. 获取源文件的路径 //1). 获取 Documents (存放永久存储的数据)文件夹路径 NSString *documentPath = [NSSea原创 2015-11-21 16:00:47 · 354 阅读 · 0 评论 -
Delegate 设计模式
Delegate设计模式/** * 代理和协议的使用: * 当自定义协议时的步骤: * 1. 定义协议.(协议中存放的代理应该完成的任务) * 2. 定义代理属性(存储外界的代理对象) * 3. 在其他文件中指定代理对象 * 4. 代理对象所属的类, 服从对应的协议(答应干活) * 5. 实现协议中的方法(代理来干活) *原创 2015-11-07 21:01:10 · 432 阅读 · 0 评论 -
AppDelegate 中的函数介绍
– (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions; 当应用程序加载时触发, 在方法中创建 window 窗口对象, 让 window 对象成为应用程序主窗口并且可视- (BOOL)application:(UIApplication原创 2015-11-07 11:38:31 · 269 阅读 · 0 评论 -
视图控制器
视图控制器不是一个视图, 本质是控制器, 但它自带一个视图, 一般在这个视图上进行控件布局. 视图控制器是 UIViewController, 自定义的视图控制器都继承自它 自定义视图控制器上的一些函数介绍– viewDidLoad; 这个方法是在loadView 方法执行过后立即执行的, 关于loadView 这个方法在自定义视图控制器的 .m 文件中是没有的, 只有当开发者想自定义原创 2015-11-07 14:21:48 · 310 阅读 · 0 评论 -
Target/Action 设计模式
Target/Action 设计模式介绍Target/Action 设计模式可以实现高内聚低耦合的特点, 可以实现解耦在一般的视图类中, 如果直接使用触摸事件的响应方法的话, 不够灵活, 对于不同的视图,在相同的触摸事件中如果要实现不同的功能, 那么每次使用触摸事件时, 都需要修改代码, 非常麻烦. 我们可以通过 Target/Action 设计模式, 让我们的 View类 像 Button 一样灵原创 2015-11-07 20:15:07 · 407 阅读 · 0 评论 -
自定义视图
自定义视图可以自己组合视图, 提高代码的复用性, 可移植性等. 自己封装的视图就像系统的 UI 控件一样, 可大大降低开发成本, 提高开发效率. 需要注意的是自定义视图同样继承于 UIView. 在自定义视图中的.h文件中要定义一些接口, 用于在外界操作自定义视图. 在组合视图中定义延展, 在延展中定义该组合视图中的控件属性 :@interface combinationView ()@pr原创 2015-11-07 15:36:52 · 285 阅读 · 0 评论 -
响应触摸事件的方法
如果想让一个视图对触摸事件做出响应, 就需要实现能够响应触摸事件的方法总共有四个能够响应触摸事件的方法- (void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event; 当刚开始触摸的时候触发(手指刚接触到视图)- (void)touchesMoved:(NSSet )touches withEvent:(UIEvent )event原创 2015-11-07 16:41:44 · 301 阅读 · 0 评论 -
iOS 手势识别器
手势识别器手势识别器介绍手势识别器是对触摸事件做了封装,我们无需⾃己去判断某个手势是否触发,手势识别器本⾝起到了识别作用,我们把重⼼放在识别之后要做什么操作上面手势识别器有7个子类:分别是①轻拍手势;②平移手势;③轻扫手势;④缩放手势⑤旋转手势⑥长按手势⑦屏幕边界平移手势//创建视图添加到根视图UIImageView *redView = [[UIImageView alloc] initW原创 2015-11-08 14:27:01 · 391 阅读 · 0 评论 -
记录几个 CALayer 的重要属性 (二)
记录几个 CALayer 的重要属性:有关阴影配置shadowColor : 配置阴影颜色@property CGColorRef shadowColor;/* The color of the shadow. Defaults to opaque black. Colors created * from patterns are currently NOT supported. Anima原创 2015-10-31 10:07:46 · 312 阅读 · 0 评论 -
彻底理解position与anchorPoint
引言相信初接触到CALayer的人都会遇到以下几个问题: 为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与position有什么关系?我也迷惑过,找过网上的教程,大部分都是复制粘贴的,有些是翻译的文章但很有问题,看得似懂非懂,还是自己写代码彻底弄懂了,做点笔记吧。每一个UIView内部都默认关联着一个CALay转载 2015-10-31 16:20:59 · 301 阅读 · 0 评论 -
记录几个重要的 CALayer 的属性 (四)
记录几个 CALayer 的重要属性有关背景配置backgroundColor : 配置背景颜色@property CGColorRef backgroundColor;/* The background color of the layer. Default value is nil. Colors created from tiled patterns are supported. Ani原创 2015-10-31 17:47:02 · 285 阅读 · 0 评论 -
记录几个重要的 CALayer 属性 (一)
记录几个 CALayer 的重要属性有关图层的几何结构frame : 配置本层的相对于 superlayer 的位置信息及层的大小@property CGRect frame;/* Unlike NSView, each Layer in the hierarchy has an implicit frame * rectangle, a function of the `positio原创 2015-10-31 18:45:25 · 299 阅读 · 0 评论 -
iOS 动画
iOS UIView动画 和 CALayer动画 iOS4之前如果想要做动画, 必须放在开始动画和提交动画中间, 而 iOS4之后使用基于 Block 的动画效果//开始动画[UIView beginAnimations:nil context:nil];//1. 设置动画持续时间 -- 以秒为单位[UIView setAnimationDuration:2];//默认0.2秒//2.原创 2015-12-02 20:56:34 · 351 阅读 · 0 评论