本系列文章都是以有OC基础来写的,所以注释不会写太多,对基础不够了解的同学可能不太适合,另外本系列文章不是以教程式的形式来写,是记录学习过程的,所以不会有多少讲解 OK,承接上一篇文章,这次开始UIT
首先打开 Xcode 新建一个 Cocoa Touch 项目,interface 选择 Storyboard。
Swift-MVVM 简单演练(二) Swift-MVVM 简单演练(三) Swift-MVVM 简单演练(四) 前言 最近在学习swift和MVVM架构模式,目的只是将自己的学习笔记记录下来,方便自己日后查找,仅此而已!!! 本来打算一篇全部搞定的,但是简书每篇文章只能写大约不超过15000字的内容,因此只能分开写了。 如果有任何问题,欢迎和我一起讨论。当然如果有什么存在的问题,欢迎批评指正,我会积极改造的! ---- 这篇文章都写啥 自定义NavgationBar 抽取便利构造函数 初步的下拉刷新/上
面试题持续整理更新中,如果你正在面试或者想一起进阶,不妨添加一下交流群1012951431一起交流。
项目介绍 仿照百思不得姐,通过看李明杰老师视频学习自己实践并简单总结项目开发过程中普遍遇到的问题,并且将可以用到其他项目中的分类方法进行简单总结,便于以后在别的项目中使用。 每天任务 1. 实现相应功能 2. 代码重构,简单优化 第一天任务: 配置项目基本环境 搭建框架 代码重构 配置项目基本环境 一. 接口获取 我们可以通过Charles等工具抓包来获取我们想做的App的接口,然后通过解析将每个接口的数据解析出来。也可以去知乎中有趣的 API 接口推荐找找看。 二. 项目图片获取方式 图片的获
一.UI框架 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件。 SVPullToRefresh - 下拉刷新控件。 MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写) XHRefreshControl - XHRefreshControl 是一款高扩展性、低耦合度的下拉刷新、上提加载更多的组件。(国人写) CBStore
git 地址:https://github.com/TieShanWang/KKPopover
简介 项目主页: https://github.com/bang590/JSPatch 示例下载: https://github.com/ios122/ios122 JSPatch 可以让你用 Jav
由于百度地图自带的BMKAnnotationView 中默认的是大头针,可以设置自定义图片(替换大头针),但是就是无法在地图上放置Label显示文字,本来想让所有大头针的气泡都默认弹出(设置 selected 就行),可是找不到一个方法使所有的气泡都弹出,最后只能自定义一个基于BMKAnnotationView的UIView
和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换。
表相关与的TabBar SWTableViewCell - 国内开源作者,带很多手势的表单元格。 MCSwipeTableViewCell - 带很多手势的表单元格。 TMQuiltView - 瀑布流。 XRWaterfallLayout - 超简单的瀑布流实现,实现说明。 WaterfallFlowDemo - 一个简单的UICollectionView瀑布流布局演示demo。 XLForm - 很多表格类的表,写法更高冷一点,推荐使用。 Eureka.swift - Eur
Swift中的Struct都有个系统提供默认的包含所有成员遍量的init方法,如果我们添加自定义的init方法时,系统默认提供的就会消失,如果需要既可以保留系统默认的init方法,又需要添加自定义的init,可以使用一个小技巧:将自定义的init方法写在Struct的extension中
上一篇文章iOS - Swift 面向协议编程(一) 已经对Swift的面向协议编程做了介绍,接下来该篇文章将使用面向协议开发(POP)来做下实际的应用 在实际开发中,自定义View基本上是必须
建议查看原文:https://www.jianshu.com/p/23c876f8ae39(不定时更新)
接着上面一篇说的内容: 一 继承: 苹果继承与水果,苹果是水果的子类,则苹果是一种特殊的水果;这就是继承的关系,这个我们学OC的时候相信也都理解了,就不再描述定义了,下面的就叫继承: class ZXMessageCell: UITableViewCell { // 自定义的cell继承与UITableviewCell } 继承了父类,你也就能使用父类的属性方法,这些我们学OC的时候也都清楚。看下面几点, 1:重写父类的方法 2:重写父类的属
iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。 显示数据的视图: UITextView UILabel UIImageView UIWebView MKMapViews UIScrollView 可选择的视图(以下两个视图类实例都是模态显示的): UIAlertView UIActionSheet 所有控件(控件是将用户触摸转换为回
前言: 1、在Mac OS中NSWindow的父类是NSResponder,而在iOS中UIWindow的父类是UIView。程序一般只有一个窗口但是会又很多视图。 2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体等等。 我在前面详细介绍了setNeedsDisplay , setNeedsLayout和layoutIfNeeded 详情请点击。 下面介绍的是view添加以及删除时所触发的方法 // 当视图添加子视图
3.times { puts 'hello world' } 这是一条Ruby语句,它会打印“hello world”三次,意图清晰,语法简洁。
gif动画 UIImageView-PlayGIF - UIImageView-PlayGIF。 YLGIFImage - YLGIFImage。 YLGIFImage-Swift - YLGIFImage-Swift。 gifu.Swift - gifu.Swift高性能GIF显示类库。 droptogif - droptogif视频拖拽到应用窗口后自动转换为 GIF 动画(其转换进程动画效果也超赞)。 JWAnimatedImage.swift - JWAnimatedImage.swift
=======================================================
泛型可以让你使用自定义的类型来编写灵活的、可重用的函数和类型,可以避免重复,以清晰、抽象的方式表达其意图。 在2015年的WWDC上苹果推出了Swift 2.0版本,为了让开发者能从Objective-C更好的过度到Swift上,苹果也为Objective-C带来了Generics泛型的支持。
本文同步 个人博客 简书 掘金 慕课 使用Xcode 9.3 Swift4.1
在Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能。这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的iOS系统,那么这些特性有什么样的用处呢,作为开发者,我保证你一定会爱上他们,如果你可以将这些新特性都应用于你的开发,你的开发效率和代码质量,相比之前,会有一个很大的提升。
UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用:
有时候,我们可能需要统一工程中的返回按钮样式,比如都是 箭头+返回 或者都是 箭头。 方案有两种:
iOS在写视图的有的人喜欢纯代码去写,从之前的绝对定位方式(Frame),到现在的自动布局(Autolayout),但这种方式的好处是便于复制修改和装X,但是缺点是代码不容易看,不便于修改
你已经在 iOS 应用程序上工作了一段时间,你认为你很聪明。 你以为你已经做到了,嗯?
随着 Flutter 的出现,UI 开发形式也越来越趋向相同,Flutter,SwiftUI,RN,Weex 等新兴UI框架无一意外都使用了声明式的 UI 开发模式,和支持了FlexBox的布局系统。
看了很多关于iOS组件化的文章,觉得光是看不写不足以很好的理解组件化,所以就自己写了一个demo以组件化构建。
点开微信相册的时候,想要在相册图片界面跳转查看点赞和评论时,微信会采用界面翻转的过渡动画来跳转到评论界面,好像是在图片界面的背面一样,点击完成又会翻转回到图片界面,这不同于一般的导航界面滑动动画,觉得很有意思,于是自己学着做了一下,其实也很简单,下面是实现的类似的效果图:
前言: 系统自带的alertView界面有点呆板,动画有点单一,总之随着业务的发展,系统自带的alertView已经很难满足我们的需求,那自定义的就很有必要。本文就介绍如何自定义alertView,看完你就懂得制作属于自己的alertView了 一、创建DWAlert.swift 创建一个类名为在DWAlert.swift,在class DWAlert: UIView里面添加一些常量和属性 //const 常量 let kAlertWidth = 245.0 let kAlertHeight = 16
这个是oc 延展过来的写法,当然Swift 有自己更优雅的写法,过程有点复杂,我按照步骤写
在开发需求时app中使用的导航条在一个模块的主题基本是一致的,因此可通过自定义导航条来进行统一控制。
概述 在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部UI。而在最近几年的开发中,苹果对 Storyboard 的开发力度也不断增强,添加了更多功能和特性,大大方便了界面的开发、适配以及提升代码性能。 我们来看看三种方式的主要区别: 手写页面和逻辑代码 如果你的目的是写一些可以高度重用的控件提供给其他开发者使用,那毫无疑问最好的选择应该是使用代码来完成UIVi
关于自定义XCode内UIKit相关的文件模板,网上已有很多的教程,这里来介绍下对于SwiftUI View的自定义模板创建。
IB_DESIGNABLE / IBInspectable 这两个关键字是在WWDC 2014年"What's New in Interface Builder"这个Session里面,用Swift讲过一个例子。也是随着Xcode 6 新加入的关键字。
第1章 Interface Bundle 概要 ---- Bundle 一种标准化的层次结构,保存了可执行代码及代码所需要的资源。 nib Next Interface Builder Interface Builder 的优点 开发和维护效率高 减少大量的 UI 代码和“胶水代码” 适配变得十分简单 IB 也可以做一些非 UI 的事情 利用 IB 学习控件可以达到事半功倍的效果 Interface Builder 的缺点 IB 的执行效率没有纯代码高 使用 IB 开发的过程中容易出现一些小问题 有一定的学
在 UIKit 和 SwiftUI 中设置颜色时,无法直接通过.的方式进行颜色的书写,必须带上前缀UIColor或者Color,因为无法根据上下文进行成员推测,Swift 5.4 中改进了这个语法,可以省去前缀且支持链式调用。
Swift 作为一门现代语言,除去安全,快速等特性之外,还有个明显有别于其他语言的特性,就是巨量细致入微的语言特性。类似iOS API,初学者觉得繁杂,无从下手,但是熟悉之后,绝对能少写不少代码。
相信每一个iOS开发者都知道Runtime, 现在Swift也更新到5.0+版本了,要是你也学习了Swift的话你可能也会想过这样一个问题,OC大家都知道是有动态性的,你能通过Runtime 的API获取你想要的属性方法等等,那Swift呢?是不是也和OC一样呢?
要在Xcode中预览画布上的视图并与之交互,请确保您的Mac运行的是macOS 10.15 beta版。
iOS 是由苹果公司开发的移动操作系统 。苹果公司最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统(最初叫 iPhone runs OS X)。该系统最初是设计给 iPhone 使用的(所以后来曾命名为 iPhone OS),之后陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上(所以在 WWDC 2010 上最终宣布更名为 iOS)。
本期是 Swift 编辑组自主整理周报的第二十四期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。
自定义UITabbarController进而自定义UITabbar,这通常会是一个iOS项目开始的重要环节。在Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上
你肯定也想过 在OC中相信每一个iOS开发都知道Runtime, 现在Swift也更新到4.0版本了,要是你也学习过Swift的话你可能也会想过这样一个问题,OC大家都知道是有动态性的,你能通过Runtime 的API获取你想要的属性方法等等,那Swift呢?是不是也和OC一样呢? 这个问题在我看Swift的时候也有想过,带着这个问题就总结出了今天这篇文章。 先说说这个Runtime,在自己之前的文章中有总结过关于OC的Runtime以及它API的一些基本的方法和在项目中
一直以来,Native App因为审核的原因,新版本不能很及时地上线。尤其是iOS,碰到点审核问题,有时候一连几天都不能上架,严重影响业务和产品的体验。
Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了腾讯WXG iOS开发工程师——bang 陈振焯,为大家分享《JSPatch成长之路》。 ---- 分享内容简介: JSPatch 是 iOS 上的动态更新框架,只需要引入小小的引擎文件,就可以用 JS 调用和替换任意 OC 方法。目前被普遍用于实时修复 bug,已有超过2500个 APP 接入,本次分享介绍 JSPatch 发展过程中遇到的问题和解决
在 Swift 语言推出的同一年(2014 年),苹果就在 Xcode 中集成了 Playground 功能。相较标准的 Xcode 项目,Playground 启动更快、使用更轻巧,被广泛应用于 Swift 语言学习、框架 API 测试、快捷数据处理、汇集灵感等众多方面。本系列将介绍大量有关 Xcode Playground 的使用技巧,涉及稳定性、第三方库、资源管理、异步处理、文档标注等等方面,让你玩转 Playground,使其成为你工作学习中的利器。
文章目录 前言 I、隐私权限相关的适配 II、KVC相关的适配 III、UIView相关的适配 IV、第三方框架相关 4.1 QMUIKit V、网络相关 see also 前言 I、隐私权限相关的适配 【定位授权新增了精确和模糊定位 可根据不同的需求设置不同的定位精确度】向用户申请临时开启一次精确位置权限的方案(不同场景可定义不同purposeKey) iOS14隐私权限适配:【相册权限】 iOS14相册权限适配 :Limited Photo Access模式、PHAccessLevel(请求查询li
摄像照相视频音频处理 SCRecorder - SCRecorder短视频录制。 VideoPushDemo - 视频剪辑视频特效制作1 视频特效制作2。 LLSimpleCamera - 一款简单的,可自定义的iOS摄像头控件,摄像头。 EZAudio - EZAudio是一个iOS和OSX上简单易用的音频框架,根据音量实时显示波形图,基于Core Audio,适合实时低延迟音频处理,非常直观。中文介绍,官网。 ffmpeg - ffmpeg官网,FFmpeg在iOS上完美编译。 V
领取专属 10元无门槛券
手把手带您无忧上云