iOS 界面
我来看烟花
芝兰生于空谷,不以无人而不芳!
展开
-
iOS 保持界面流畅的技巧
这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index演示项目屏幕显示图像的原理卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU 资源消耗原因和解决方案AsyncDisplayKitASDK 的由来ASDK 的资料ASDK转载 2016-01-29 20:25:46 · 480 阅读 · 0 评论 -
iOS CGRectGetMaxX/Y 使用
在iOS的界面布局中我们可以使用CGRectGetMaxX 这个方法来方便的获取当前控件的x坐标值+宽度的数值,这样便可以方便布局。同理CGRectGetMaxY是获取y坐标值+控件高度的值,当然这个系列的方法还有很多大家可以试下。/* Return the leftmost x-value of `rect'. */CG_EXTERN CGFloat CGRectGetM原创 2016-05-10 08:48:55 · 6653 阅读 · 0 评论 -
关于 removefromsuperview时内存释放
removeFromSuperview Unlinks the receiver from its superview and its window, and removes it from the responder chain.译:把当前view从它的父view和窗口中移除,同时也把它从响应事件操作的响应者链中移除。分析:这里有两个关键点,可以帮助我们理解在ios当中view是怎原创 2016-04-18 12:02:39 · 2098 阅读 · 0 评论 -
iOS 图片背景模糊效果
CoreImage的实现:iOS 图片背景模糊效果- (void)viewDidLoad { [super viewDidLoad]; UIImage * image = [UIImage imageNamed:@"icon"];/*..CoreImage中的模糊效果滤镜..*/ //CIImage,相当于UIImage,作用为获取图片资源原创 2016-04-19 08:47:24 · 730 阅读 · 0 评论 -
iOS的横屏(Landscape)与竖屏(Portrait)InterfaceOrientation
0. 应用级别的配置大家(特指有iOS开发经验的人)应该都知道Xcode Project的工程配置General页签中有那么四个图(或者4个checkbox),标识对四种interfaceOrientation的支持。分别为Portrait、PortraitUpsideDown、LandscapeLeft和LandscapeRight。对应的,在Xcode Project工程配置的转载 2016-04-11 15:50:01 · 3919 阅读 · 0 评论 -
使用AutoLayout布局适配时,如何提前获得AutoLayout完成适配后的子控件的真实frame
当我们使用AutoLayout做适配时,可能会有这样的需求,就是在想在适配完成前就取得子控件的真实frame,来做一些操作。比如我们想把一个正方形的UIImageView剪成一个圆形,这时候就需要这么做[objc] view plain copyself.imageView.layer.cornerRadius = self.imageView.转载 2016-06-03 15:25:40 · 769 阅读 · 0 评论 -
View和viewController的生命周期
一、ViewController的职责对内管理与之关联的View,对外跟其他ViewController通信和协调。对于与之关联的View,ViewController总是在需要的时候才加载视图,并在不需要的时候卸载视图,所以也同时担当了管理应用资源的责任。二、ViewController的生命周期View是指Controller的View。它作为Controler的属性,生命周期在C原创 2016-03-23 19:59:01 · 413 阅读 · 0 评论 -
设置tableView的header不悬浮
当 UITableView 的 style 属性设置为 Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端。取消这一特性的方法有两种: 将 style 设置为 Grouped 。这时所有的section header都会随着scrollview滚动了。不过 grouped 和 plain 的样式有轻微区别,切换样式后也许需原创 2016-04-08 08:32:14 · 1250 阅读 · 0 评论 -
iOS自定义视频录制界面
相信在iOS应用里面很常用的功能之一就是视频录制了,但是往往系统的录制界面不是我们想要的,所以这时候就得自定义视频录制界面了.当然对很多人来讲的,AVFoundation这个库不是很熟.下面就一步步来实现一个自定义界面把!创建UI以及相机采集工作NSError *error = nil; self.session = [[AVCaptureSession a转载 2016-08-22 08:31:24 · 640 阅读 · 0 评论 -
iOS开发之有间距的UITableViewCell
UITableView是最常用的一个iOS控件,现要做一个如下图的UITableView,其中白色部分就是cell,可是默认的UITableView中cell之间是没有间隔的,那么办呢?网上有2种做法,我这里顺带提一下吧效果图.png1、方式一通过设置cell的contentView来间接实现,在cell的contentView的顶部或者底部留下一定的间距,这样就会有cell间转载 2016-08-22 13:06:35 · 381 阅读 · 0 评论 -
图片的压缩
图片的压缩其实是俩概念,1、是 “压” 文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,2、是 “缩” 文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。这个 UIImageJPEGRepresentation(image, 0.0),是1的功能。这个 [sourceImage drawInRect:CGRectMake(0,0,targetWidt原创 2016-10-06 15:44:23 · 289 阅读 · 0 评论 -
edgesForExtendedLayout
edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。 self.edgesForExtendedLay原创 2016-04-10 22:33:36 · 451 阅读 · 0 评论 -
容易被忽视的API总结
1.使用UIScrollViewKeyboardDismissMode实现了Message app的行为像Messages app一样在滚动的时候可以让键盘消失是一种非常好的体验。然而,将这种行为整合到你的app很难。幸运的是,苹果给UIScrollView添加了一个很好用的属性keyboardDismissMode,这样可以方便很多。现在仅仅只需要在Storyboard中改变一个原创 2016-04-25 22:05:36 · 717 阅读 · 0 评论 -
CATransform3D
CATransform3D CATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloat tz)tx:X轴偏移位置,往下为正数。ty:Y轴偏移位置,往右为正数。tz:Z轴偏移位置,往外为正数。例:如果有2个图层,一个是绿色的,一个是红色的。先加载绿色,后加载红色。tx,ty的左右偏移先原创 2016-03-16 22:34:58 · 246 阅读 · 0 评论 -
UISearchBar
最近用到了UISearchBar和UISearchDisplayController,一般大体的布局是:上面是一个navigationController,接下来一个searchBar,下面是tableViewsearchBar这个控件就用来搜索tableView上的数据 displayController = [[UISearchDisplayControll原创 2016-03-18 21:59:33 · 299 阅读 · 0 评论 -
UIToolBar
在iOS开发时,有时候需要在UIToolBar中增加UILabel等控件。见过很多资料是以代码方式完成此功能,不易维护。于是我进行了一番摸索,找到了xib/storyboard图形界面下的处理办法。一、代码方式 代码方式是很多资料上提到的,关键是利用UIBarButtonItem的initWithCustomView方法来绑定UILabel控件。代码如下——UILab原创 2016-03-18 22:15:24 · 625 阅读 · 0 评论 -
处理不等高TableViewCell
课题一:如何计算Cell高度方案一:直接法(面向对象)想知道妹纸爱你有多深?直接去问妹纸本人吧!嗯!Cell也是一样的,想知道cell到底有多高?直接问Cell本人就好了。直接法,就是把数据布局到Cell上,然后拿到Cell最底部控件的MaxY值。第一步:创建Cell并正确设置约束,使文字区域高度能够根据文字内容多少自动调整第一步 - 添加好约束.gif转载 2016-03-31 19:20:33 · 369 阅读 · 0 评论 -
让 TableViewCell 底线顶满左侧
想要cell的分割线顶满左侧, 只需要在控制器中写上如下代码://将要显示cell时候- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if ([cell responds原创 2016-03-20 20:16:18 · 987 阅读 · 0 评论 -
iOS开发之iOS与js的交互
iOS中UIWebView与js的交互1.什么是DOM?通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。大家原创 2016-03-21 16:06:56 · 2078 阅读 · 0 评论 -
网页颜色代码对照表
网页颜色代码对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF68F #FFF5EE #FFF转载 2016-04-04 21:51:03 · 6461 阅读 · 1 评论 -
状态栏隐藏的问题
一般来说,在info.plist中添加View controller-based status barappearance 并且把值设定为NO,就可以在程序中自由控制状态栏的隐藏和显示了。遇到的问题无非是状态栏颜色和界面上的颜色配不上,那么改一下setStatusBarStyle就可以了。但是有一种情况,就是打开相册或者相机时,使用了UIImagePickerCon原创 2016-03-24 08:41:33 · 567 阅读 · 0 评论 -
IOS核心动画(Core Animation)
简介问题一:什么是核心动画(Core Animation)? •Core Animation是非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架•CALayer中很多属性都可以通过CAAnimation实现动画效果,包括:opacity、position、transf转载 2016-04-06 16:52:57 · 409 阅读 · 0 评论 -
对UIView 实例方法的探索
配置自动调整大小状态 Configuring the Resizing Behavior- (void)sizeToFit //根据子视图的大小位置,调整视图,使其恰好围绕子视图,也就是说自动适应子视图的大小,只显示子视图- (CGSize)sizeThatFits:(CGSize)size//让视图计算最适合子视图的大小,即能把全部子视图显示出来所需要的最小的size铺设原创 2016-04-25 20:28:29 · 364 阅读 · 0 评论 -
iOS添加自定义自体 [UIFont fontWithName: size:](英文有效)
[UIFont fontWithName:(NSString *)fontName size:(CGFloat)fontSize];//便利字体名称for (NSString *str in [UIFont familyNames]) { dlog(@"UIFont_name: %@",str);}2015-05-25 16:36:转载 2017-04-11 10:44:41 · 579 阅读 · 0 评论