很多应用程序都采用了侧边栏这样的界面结构,MMDrawerController是一个轻量级的侧边栏抽屉控件,其支持左侧抽屉和右侧抽屉,可以很好的支持导航控制器,并且支持开发者对手势和动画进行自定义。MMDrawerController的git地址如下:
UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器,通常用来展示交互列表。示例如下图:
活动表示系统提供的或自定义的任务——通过一个活动视图控制器来实现——其可以和当前的内容互动。
IOS 和ANDROID操作系统都是眼下流行的移动操作系统,被移动终端和智能设备大量採用,两者都採用了先进的软件技术进行设计,为了方便应用开发两者都採用了先进的设计模式。
本文介绍了一种用于iOS的交互式转场实现方案,通过使用UIKit Dynamics和UIKit Layout实现自定义转场效果。具体实现包括两个部分:一是交互式转场动画的实现,通过CGAffineTransformAnimation结合UIView.animateWithDuration()方法实现;二是交互式转场交互的实现,通过监听UIViewControllerTransitionCoordinator方法实现。该方案适用于界面之间的复杂转场交互场景,可以自定义转场动画和交互逻辑,实现更加顺滑、自然的界面转场效果。
关于动画在iOS开发中的应用,曾经整理过一系列的博客进行总结。包括简单的UIView层的动画,CALayer层的动画,Autolayout自动布局动画以及CoreAnimation核心动画框架等。本篇博客主要深入讨论视图控制器、导航控制器来进行界面跳转时的专场动画相关内容。之前的动画相关博客列举如下:
文章索引 4.1.1 状态栏 4.1.2 导航栏 4.1.3 工具栏 4.1.4 工具栏与导航标准按钮 4.1.5 标签栏 4.1.6 标签栏标准图标 4.1.7 搜索栏 4.1.8 范围栏 4.2.1 活动 4.2.2 活动视图控制器 4.2.3 集合视图 4.2.4 容器视图控制器 4.2.5 图片视图 4.2.6 地图视图 4.2.7 页面视图控制器 4.2.8 浮出层 4.2.9 滚动视图(Scroll View) 4.2.10 分栏视图控制器 4.2.11 表格视图 4.2.12 文本视图 4.2
之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈。这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身体验了一下CollectionViewController的强大,之前一直认为CollectionView和TableView用法差不多,功能应该也是类似的。TableView的功能就已经很强大了,,CollectionView就是TableView的升级版,其功能更为强大。以后的几篇博客中好好的研究一下Col
原文链接:https://www.cnblogs.com/ludashi/p/4791826.html
iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。 显示数据的视图: UITextView UILabel UIImageView UIWebView MKMapViews UIScrollView 可选择的视图(以下两个视图类实例都是模态显示的): UIAlertView UIActionSheet 所有控件(控件是将用户触摸转换为回
自定义UITabbarController进而自定义UITabbar,这通常会是一个iOS项目开始的重要环节。在Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上
表单视图是移动开发中十分常用的一种UI方式。在iOS开发中,系统的UITableView可以用来创建表单视图,其界面的渲染与逻辑的处理需要开发者实现许多代理方法。FXForms是一个第三方的表单创建工具,其通过配置的方式来进行表单界面的创建,并且其中为开发者封装好了各种常用类型的表单cell。
Onboard是现在github最火的引导页框架,star已经近5k,我觉得这框架挺有意思。 导语 Onboard:一个只用几行代码就可轻松创建
Onboard
Onboard:
在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如下几点:
目录: 一、设置导航栏样式 二、解决自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题 相关文章:iOS状态栏的使用总结 一、设置导航栏样式 设置导航栏的样式可分为全局设置与局部设置; 1.全局设置 全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53504356
在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便。前几篇博客地址如下:
1、iOS上的页面展示和逻辑 1.1 iOS的MVC设计模式 在介绍iOS的页面展示之前,我们需要先知道iOS应用的运行逻辑和设计模式。MVC即Model,View,Controller(模型,视图,控制器)。 View上展示的东西,由Model来定义 View上展示的逻辑,由Controller来控制 Controller同样负责初始化Model,和传递Model的信息给View 用户在View层中所进行的创建或修改数据的操作,通过Controller对象传达出去,最
storyboard进行界面设计固然不错,特别是对于初学者经常会使用设计器进行界面设计,但是实际开发过程中我们很多情况下会直接使用代码进行界面布局,特别是对于复杂的界面布局更是如此。下面我们就从一个空项目建立一个类似于前面的登录界面。
大多数对象在我们的APP中使用之前,都需要某种形式的设置。无论是我们要根据APP的品牌设置样式的视图(View),还是要配置的视图控制器(View Controller),亦或是在测试中创建存根的值时,我们经常发现需要将设置代码放在某个地方。
创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图;
jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面。jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格。jQuery Mobile1.4.0主要侧重于性能和控件方面的改进。除了全新的默认主题和SVG图标,还新增了开关控件、通用过滤器、箭头弹出框、滑动提示框等一系列功能,更是集成了jQuery UI的Tab部件。jQuery Mobile继承了jQuery的优势,并且提供了丰富的适合手机应用的UI组件。jQuery Mobile还有很多的第三方扩展。
本文将讲述在iOS开发中如何根据某个UIView来获取所属的UIViewController
自定义转场动画集锦.gif 本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果、手势过渡动画、网易音乐启动屏转场动画、开关门动画、全屏侧滑返回效果 的代码可以到Github WSLTransferAnimation下载查看,注释还算清晰。 模态化present和dismiss 自定义转场 1、创建一个遵循<UIViewControllerAnimatedTransitioning>协议的动画过渡管理对象,并实现如下两个方法: //返回动画事件 - (NSTimeInter
前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。的确,视频播放与游戏类型的App经常会遇到这个的问题。由于至今接手的项目中不常涉及这块知识疏于总结,在搜索了一些资料后也发现都很散乱,所以决定在这里重新整理一下。
1. 起因 我们经常能够在第三方库的源码中看到很多loadView、willMoveToParentViewController:、viewDidLayoutSubviews 等等诸如此类的并不是十分常见的方法。这让永远都只在viewDidLoad写作的童鞋们情何以堪吶。 这些其实都和生命周期有关,和viewController以及view的各种加载顺序有关。这篇文章就小小撸一下这中间的关系和顺序。 2. Controller的生命周期 系统提供了控制器从显示到消失的四个方法。 千万不要看到方法名中间出现了
这是一篇以 iOS 开发人员的视角写给广大iOS 程序猿的 PHP 入门指南.在这篇文章里我努力去发掘 objectiv-c 与 php 之间的共性,来帮助有一定 iOS 开发经验的攻城狮来快速上手一
对于父级VC与子级VC分别有navigationController的情况,即不是使用push方式加载子VC,而是通过AddChildViewController的方式添加的场景,则父级导航条会覆盖在子级导航条上面,所以需要在载入时把父级导航条做隐藏处理:
概念 UINavigationController 继承于 UIViewController 包含:viewcontrollers、NavigationBar、Toolbar 导航控制器是一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,UINavigationController是将这些控件(UINavigationBar,UINavigationItem和UIToolBar)和UIViewController紧密的结合了起来 总结: Naviga
Messages是iOS系统中原生的信息应用,其既可以通过运营商网络发送短信息,也可以通过互联网进行类似微信类社交软件的即时聊天。但是由于其封闭性与功能的单一,使用其进行即时聊天的用户并不多。随着iOS10系统的推出,或许可以改变这一现状。在iOS10中,Messages的功能被扩展的十分强大,通过Messages,用户可以分享图片,音乐,视频,可以随手涂鸦,使用自定义的表情包,可以进行Apple Pay支付,购物,甚至可以在Messages中玩游戏。并且,上面所提到的这些功能都全面开发出了接口供开发者进行开发与扩展。
https://juejin.im/post/5c6a0b6ef265da2de660f83f”
使用OpenGL ES的许多方面都是平台无关的,但在iOS上使用OpenGL ES的一些细节需要特别注意。 尤其是,使用OpenGL ES的iOS应用程序必须正确处理多任务,否则在转到后台时可能会被终止。 在为iOS设备开发OpenGL ES内容时,您还应该考虑显示分辨率和其他设备功能。
与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理方式是纵向的,采用push与pop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理。
协议与委托代理回调在之前的博客中也是经常提到和用到的在《Objective-C中的委托(代理)模式》和《iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流》等博客内容中都用到的Delegate回调。说到协议,在Objective-C中也是有协议的,并且Swift中的协议和Objc中的协议使用起来也是大同小异的,在Java等现代面向对象编程语言中有接口(Interface)的概念,其实和Swift中或者Objc中的Protocol(协议)是一个东西。
文章索引 3.1 3D触摸(3D Touch) 3.1.1 轻压和重压(Peek and Pop) 3.1.2 主屏幕快捷操作(Home Screen Quick Actions) 3.2 Live Photos 3.3 钱包(Wallet) 3.4 苹果的移动支付平台(Apple Pay) 3.5 研究型应用程序(Research Apps) 3.6 应用扩展(App Extensions) 3.6.1 今天部件(Today Widgets) 3.6.2 分享和动作扩展(Share and Action
一分钟,您的iOS应用程序可以在Xcode中正常运行,而下一分钟,它由于不可思议的SIGABRT错误而崩溃了。这是怎么回事!?
http://www.cocoachina.com/ios/20141126/10320.html
几乎所有的iOS app都至少使用了一些UIKit框架定义的UI部件。了解这些基础部件的名字、角色和功能可以帮助你明智地决定你的app的UI设计。
在 Apple 平台上打造精彩超凡的 app 所需要的一切,Xcode 9 都已为您准备好。即使在编辑最大的文件时,它也能保持超乎想象的高速流畅。它比以往更了解您的代码,您可以直接在编辑器中选择和编辑代码结构,甚至进行代码块的转换。 有了全新的强大重构任务,现在您能迅速地完成 Swift, Objective-C,甚至用户界面文件上的变量重命名。基于 Swift 4 的兼容性,Xcode 9 使用同一个编译器来构建已有的 Swift 3 代码和最新的 Swift 4 代码。从此,数据迁移的节奏,您说了算。
在iOS的开发过程中,不可避免的要设计界面,在android中有xml设置界面和直接使用java代码设置界面控件两种方式,在之前的ios开发中也是类似的有xib文件设置界面及用代码直接设置控件两种方法,但后来又出了一种方式,就是storyboard故事板子,其实storyboard和xib文件很像,最大的不同之处在于一个xib文件对应一个ViewController视图控制器,而storyboard对应多个,基本一个应用只需要一个storyboard就可以了,不再需要为每个控制器创建一个xib文件,从这点上来说,还是很方便的,在storyboard中查看各个界面的跳转也很方便,但之前一直使用xib进行开发,对storyboard的使用不太熟悉,今天好好学习了一下其中的界面跳转和传值,用到了Segue这个东西,这里借着例子说明一下。
iOS内存管理机制的原理是引用计数,引用计数简单来说就是统计一块内存的所有权,当这块内存被创建出来的时候,它的引用计数从0增加到1,表示有一个对象或指针持有这块内存,拥有这块内存的所有权,如果这时候有另外一个对象或指针指向这块内存,那么为了表示这个后来的对象或指针对这块内存的所有权,引用计数加1变为2,之后若有一个对象或指针不再指向这块内存时,引用计数减1,表示这个对象或指针不再拥有这块内存的所有权,当一块内存的引用计数变为0,表示没有任何对象或指针持有这块内存,系统便会立刻释放掉这块内存。 其中在开发时引
UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用:
看到的一篇总结性的文章,收藏一下,感兴趣的可以自己看看,哪些是已经会的,哪些是没听说过的,哪些是一知半解的,都可以稍微看看。
iOS是运行于iPhone、iPad和iPod touch设备上、最常用的移动操作系统之一。作为互联网应用的开发者、产品经理、体验设计师,都应当理解并熟悉平台的设计规范。这有利于提高我们的工作效率,保证用户良好的体验。
目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前:状态栏与导航栏是分开的; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度((44) iPhoneX设备出现以后,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏
说到循环引用问题,最最最常遇到的,不是在项目中,而是在面试中。如果面试官问你开发中是否遇到过retain cycle,你如果说没遇到过,估计已经很难跟面试官继续友好的沟通下去了。 但是这个问题怎么回答呢,网络上千篇一律的答案-->使用Block的时候遇到过,使用__weakSelf 代替 self 等等,可以说这个答案没啥错,但是所有人都回答的一样,并不能突出我们的逼格,无法让面试官知道我们在这方面有过研究,有闪光点。 对于开发者来说,喜欢探索,喜欢挖掘不懂的知识,在面试官眼里会加分不少。探索是基于问题之
在我前面的两篇文章里面分别对MVC框架中的M层的定义和构建方法进行了深入的介绍和探讨。这篇文章则是想深入的介绍一下我们应该如何去构建控制层。控制层是联系视图层和模型层的纽带。现在也有非常多的文章宣扬所谓的去控制层或者弱化控制层的作用,觉得这部分是一个鸡肋,他会使得应用变得臃肿不堪。那么他是否有存在的必要呢? 一般的应用场景里面,我们都需要将各种界面呈现给用户,然后用户通过某些操作来达到某个目标。从上面的场景中可以提取出呈现、操作、目标三个关键字。要呈现出什么以及要完成什么目标我们必须要通过具体操作才能达成,也就是说是通过操作来驱动界面的不断变化以及服务目标的不断达成,操作是联系界面和目标的纽带。为了表征这种真实的场景,在软件建模和设计实现中也应如此。我想这也就是MVC框架这种应用模型设计的初衷吧。在MVC框架中V负责呈现C负责操作而M则负责目标。而且这种设计还有如下更多的考量:
在iOS开发中,UIActivityViewController常用来弹出分享面板,其实除了用来社会化分享,UIActivityViewController还有一大应用是用来进行自定义行为。先看如下示例代码:
文章索引 3.9 通知(Notifications) 3.10 社交媒体(Social Media) 3.11 iCloud 3.12 HealthKit 3.13 应用内购买服务(In-App Purchase) 3.14 游戏中心(Game Center) 3.15 iAd富媒体广告(iAd Rich Media Ads) 3.16 无线打印 (AirPrint) 3.17 访问用户数据(Accessing User Data) 3.18 快速查看(Quick Look) 译者注:本文译自苹果官方人机
这篇文章是接着第一篇写的,要是有同行刚看到的话建议从前面第一篇看,这是第一篇的地址:iOS 转场动画探究(一) 接着上一篇写的内容: 上一篇iOS 转场动画探究(一)我们说到了转场要素的第四点,把那个小实例解释完,这篇还有一点我们接着总结: Demo的下载地址这里再发一次: 这里是Demo的下载地址 5、 转场协调器协议 UIViewControllerTransitionCoordinator 可以通过需要产生动画效果的视图控制器的transitionCoord
领取专属 10元无门槛券
手把手带您无忧上云