UI
RuiWang321
。。。。。。
展开
-
iOS 保持界面流畅的技巧(最全最详尽的了)
这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index演示项目屏幕显示图像的原理卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU 资源消耗原因和解决方案AsyncDisplayKitASDK 的由来ASDK 的资料ASDK转载 2015-12-23 12:13:21 · 1676 阅读 · 0 评论 -
iOS 字符属性NSAttributedString描述
字符属性 字符属性可以应用于 attributed string 的文本中。 NSString *const NSFontAttributeName;(字体) NSString *const NSParagraphStyleAttributeName;(段落) NSString *const NSForegroundColorAttributeName;(字体颜色)转载 2016-01-30 12:02:33 · 593 阅读 · 0 评论 -
iOS清除缓存(OC实现)
//清除缓存按钮的点击事件- (void)putBufferBtnClicked:(UIButton *)btn{ CGFloat size = [self folderSizeAtPath:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject] + [sel原创 2016-01-30 12:11:17 · 10108 阅读 · 6 评论 -
iOS中的触摸事件
iOS中的事件:在用户使用app过程中,会产生各种各样的事件。iOS中的事件可以分为3大类型: view的触摸事件处理:响应者对象:在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。UIApplication、UIViewController、UIView都继承自UIRespon转载 2016-01-30 12:44:52 · 640 阅读 · 0 评论 -
iOS开发UI篇—核心动画(基础动画)
一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFillModeForwards和re转载 2015-12-14 23:00:40 · 559 阅读 · 0 评论 -
详解苹果的黑魔法 - KVO 的奥秘
前言在iOS开发中,苹果提供了许多机制给我们进行回调。KVO(key-value-observing)是一种十分有趣的回调机制,在某个对象注册监听者后,在被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。最常见的KVO运用是监听scrollView的contentOffset属性,来完成用户滚动时动态改变某些控件的属性实现效果,包括渐变导航栏、下拉刷新转载 2016-01-27 22:13:48 · 584 阅读 · 0 评论 -
apps被拒绝的各种理由以及翻译
1. Terms and conditions(法律与条款)1.1 As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and转载 2016-02-20 17:28:32 · 1640 阅读 · 0 评论 -
侧滑抽屉MMDrawerController自定义侧滑手势
侧滑抽屉 https://github.com/mutualmobile/MMDrawerController#features 这个是github上的一个开源侧滑框架,拥有自定义侧滑手势功能。但官方的文档只介绍了如何使用。没介绍如何自定义手势。使用MMDrawerController来实现菜单滑动效果。要求是每个一级页面是可以滑动的,二级页面是不允许滑动的。那就需要自定义侧滑手势了。// 自定原创 2016-04-01 10:51:00 · 1745 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-06-15 03:27:36 · 533 阅读 · 0 评论 -
Quartz2D——CGContext小记
0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipseInRect 画一椭圆4 CGContextSetLineCap 设置线条终点形状4 CGConte转载 2015-12-27 16:31:41 · 411 阅读 · 0 评论 -
iOS中edgesForExtendedLayout与automaticallyAdjustsScrollViewInsets
在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图原创 2016-01-26 12:16:02 · 643 阅读 · 0 评论 -
如何优化UITableView性能
在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性原创 2015-12-17 19:31:50 · 568 阅读 · 0 评论 -
tableView继续优化。
提高表视图的性能UITableView作为应用中最常用的视图,它的性能优化问题几乎是经常提及。下面对在非网络访问情况下的表视图性能优化进行了主要的几点说明:1.自定义类或XIB文件时在系统提供的样式不能满足我们的时候,我们经常会创建自定义类或者XIB文件来自定义单元格样式。在之前,我们通常通过loadNib的方式或者在代理方法中继续使用老的方法来设置重用,管转载 2015-12-17 19:54:47 · 461 阅读 · 0 评论 -
TableView性能优化——动态cell适应工具(UITableView+FDTemplateLayoutCell)
———————前前言————————————————————本文会主要阐述主流的cell高度返回方式、并以原文为框架进行了一些扩展补充。文章最后、列出了UITableView+FDTemplateLayoutCell工具的使用、介绍以及实现。so、如果你只需要UITableView+FDTemplateLayoutCell工具、请移步最下方阅读。此外、文中所使用的Self转载 2015-12-29 16:43:36 · 2160 阅读 · 0 评论 -
UIViewController的生命周期及iOS程序执行顺序
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图原创 2015-12-14 23:11:11 · 577 阅读 · 0 评论 -
iOS开发UI篇—Quartz2D使用(绘图路径)
一、绘图路径A.简单说明在画线的时候,方法的内部默认创建一个path。它把路径都放到了path里面去。1.创建路径 cgmutablepathref 调用该方法相当于创建了一个路径,这个路径用来保存绘图信息。2.把绘图信息添加到路径里边。以前的方法是点的位置添加到ctx(图形上下文信息)中,ctx 默认会在内部创建一个path用来保存绘图信息。在图形上下文中有一块存储空间原创 2015-12-14 22:44:11 · 652 阅读 · 0 评论 -
iOS 简单的使用UIBezierPath绘制
UIBezierPath这个类呢主要用于绘图。 之前的项目中需要绘图的部分都是用Core Graphics来绘制,OC是我的第一门语言,所以对于Core Graphics的C语言API不太适应,最近发现原来苹果的UIKit中已经对Core Graphics做了一些简单的封装,UIBezierPath就是其中一个。UIBezierPath已经完全满足了我对绘图的一些基本要求。UIBezi转载 2015-12-31 13:25:43 · 991 阅读 · 0 评论 -
IOS导航栏颜色渐变与常用属性(最近应用比较流行的风格)
导航栏背景色设置:self.navigationController.navigationBar.barTintColor = [UIColor greenColor];导航栏标题颜色字体大小 NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[NSForegroundColor转载 2016-01-19 10:32:39 · 1409 阅读 · 0 评论 -
自定义圆形进度条
之前做项目的时候有用到环形进度条,先是在网上找了一下第三方控件,发现好用是好用,就是东西太多了,有点复杂,还不如自己写一个简单点适合自己用的。先把自定义控件的效果图贴出来。 其实我写的这个控件很简单。索性就直接把源码贴出来吧。.h文件的内容就是一些声明#import @interface ProgressView : UIView//中转载 2015-12-22 08:45:31 · 657 阅读 · 0 评论 -
快速搭建一个成熟,强壮的App框架
一个App,何为优秀?产品本身是一个维度,另外一个维度,我想应该是技术层面。App的框架,如大楼之根基,好的框架对于开发,拓展和维护可以起到事半功倍的效果,其重要性不言而喻。今天分享一下自己在搭建框架时的经验,希望大家多提意见,一起进步成长。以下是常见的APP框架结构,此Project中包括自定义的UITabbar、Json反序列化、网络请求异步加载、自适应cell高度以及圆角图片转载 2015-12-22 14:50:28 · 821 阅读 · 0 评论 -
AutoLayout神话:Table View的性能和iPad分屏多任务功能
随着iPhone和iPad水平方向上多任务处理需求的强烈,iOS应用程序设计与开发人员在构建他们的应用程序时可能会面临新的挑战。而AutoLayout的引入使得许多人开始将其视为解决上述问题的头号帮手。这篇文章将为你揭开它的神秘面纱,或者更确切地说,让你了解到AutoLayout解决问题的局限性。多种布局为了弄清楚这篇文章的目的,我们假设你是一位iOS app开发者,你正在规划一款翻译 2015-12-22 15:54:08 · 801 阅读 · 0 评论 -
iOS中的事件传递和响应者链条
首先我们来看看iOS中事件的产生和传递过程:1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的队列事件中2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常会先发送事件给应用程序的主窗口(keyWindow)3.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件4.找到合适的视图控件后,就会转载 2015-12-23 15:03:26 · 411 阅读 · 0 评论 -
点击ImageView放大到全屏
ImageZoomView.h@interface ImageZoomView : UIImageView { CGRect initFrame;}/** * 添加imageView点击放大功能 * * @param imageView 图片视图对象 */+ (void)zoomImageWhenTap:(UIImageView *)imageView;@endImag原创 2016-08-24 09:21:30 · 4333 阅读 · 0 评论