SwiftUI项目下载地址 Section 1 Create a New Project and Explore the Canvas 创建一个新项目并探索画布 Create a new Xcode project that uses SwiftUI. Explore the canvas, previews, and the SwiftUI template code. To preview a……
最近在项目中需要解决苹果系统输入法遮挡输入框的问题,预期结果为: 若键盘弹出后会遮挡输入框,则输入框随键盘弹起上移,输入法切换时输入框始终保持在距键盘上方 4pt 处; 若键盘弹出后不会遮挡输入框,但切换输入法后会遮挡输入框,则输入框需要在切换后上移,随后输入法切换时输入框始终保持在键盘上方 4pt 处。 效果示意: 一. 背景 开发环境:iOS14.2 + Xcode v12.2 + Swift……
1、Swift和Objective-C有什么区别? 1)Swift是强类型(静态)语言,有类型推断,Objective-C弱类型(动态)语言 2)Swift面向协议编程,Objective-C面向对象编程 3)Swift注重值类型,Objective-C注重引用类型 4)Swift支持泛型,Objective-C只支持轻量泛型(给集合添加泛型) 5)Swift支持静态派发(效率高)、动态派发(函数……
本文主要介绍使用swift语言制作framework Demo:https://github.com/Gamin-fzym/CMSDK 一、创建工程 1.创建目录 这里我创建了一个“CMSDK”目录 2.打开Xcode新建workspace放入CMSDK目录 这里命名为“CMSDK” 3.打开CMSDK.xcworkspace新建SDK工程放入CMSDK目录 这里还是命名为“CMSDK” 将创建的……
功能需求 在App开发中,少不了动画的点缀。有时候我们希望在动画完成时得到通知,这在UIKit编程中是家常便饭的事,但在SwiftUI中又该怎么做呢? 如上,在SwiftUI编写的运行示例中,左侧图片演示了单一、复合以及重复动画在完成时如何得到通知;右侧的图片则演示了重复动画在每个单次重复完成时如何得到通知。 那么上面功能在SwiftUI中到底怎么实现呢? Let‘s go for it!!! ?……
RxSwift只是基于swift语言的Rx标准实现接口库,RxSwift不包含任何Cocoa或者UI方面的类 RxCocoa:是基于RxSwift针对IOS开发的一个库,它通过Extension的方法给原生UI控件增加R x特性,使得我们更容易订阅和响应这些控件的事件。 简单建立一个TableView // ……
前言 使用Swift实现的转盘菜单,主要用到UIBezierPath、CALayer遮罩绘制扇形UIView,CATransform3DMakeRotation实现旋转动画。代码设计使用默认configureCallback回调方便创建和设置基本属性,参考UITableView代理和数据源模式,支持AutoLayout和Frame。 效果图 1.遮罩绘制扇形View func setMaskLay……
可选项,一般也叫可选类型,它允许将值设为nil。 一、定义可选项 平时开发中,如果我们需要把一个变量置空时只需要把变量赋值一个nil即可: 上面尝试后不行,那怎么把一个变量置空呢? 答案:把变量设置可选类型即可 如何定义可选类型(可选项)? 在类型后面加个问号?; 定义可选项后变量默认就是nil。 var age: Int? // 等价 var age: Int? = nil; 案例:数组越界……
小组件简述 小组件可以在主屏幕上实现内容展示和功能跳转。 系统会向小组件获取时间线,根据当前时间对时间线上的数据进行展示。点击正在展示的视觉元素可以跳转到APP内,实现对应的功能。 小组件是一个独立于 App 环境(即 App Extension),小组件的生命周期/存储空间/运行进程都和 App 不同。 App Extension App Extension 可以将自定义功能和内容扩展到应用程序……
由于Swiftui原生未提供该修饰符 需要用到Uikit的代码:然后在任意View里面就可以调用hideKeyBoard了。 # if canImport( UIKit) extension Vie……