- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 iOS swift 引导页(镂空)引导操作下一步样式(引导样式为collectionview带定位)
iOS swift 引导页(镂空设计)引导操作下一步样式(引导样式为collectionview带定位)整体提示的代码dropBox(使用梯子显示)WorkBenchTipView.swifthttps://www.dropbox.com/s/d7skghoi6htp5g5/WorkBenchTipView.swift?dl=0设计样式小屏手机大屏手机第一个如果顶部没有东西分别显示设计方案:**整体:**在该页面的请求都完成后,在window层addsubview一个与占满屏幕的vi
2022-05-26 17:18:52
1108
2
原创 swift和OC的闭包浅析
swift自动闭包**自动闭包(@autoclosure) ** 官方的 ?? || &&就是autoClosure自动闭包是一种自动创建的用来把作为实际参数传递给函数的表达式打包的闭包。它不接受任何实际参数,并且当它被调用时,它会返回内部打包的表达式的值public func ?? <T>(optional: T?, defaultValue: @autoclosure () throws -> T) rethrows -> Tfunc ??<T
2022-05-18 00:08:59
507
原创 flutter 通讯录
flutter 通讯录工程仓库国内的话需要梯子打开https://www.dropbox.com/sh/u9s38957amql3yc/AABc3ncZd8L2gMtMAy83FKL0a?dl=0如果不能下载的话请私信我样式长这样需求分析:1、滑动会影响到右边的导航栏。2、右边的导航栏具有点击和拖动的手势,位置点到的位置会影响到左边的list。3、当list的导航栏的索引没有对应的list会选择最近的list。4、当最后的list不占满的话,选倒数第二个list,若倒数第二个也不占满
2022-05-15 18:29:21
943
原创 iOS swift swiftLint m1 安装+规则
iOS swiftLint m1 安装+规则m1安装终端不使用Rosettabrew install swiftlintCocapods 安装pod 'SwiftLint'打开项目xcode,新建两个脚本命令这里分别复制if which swiftlint >/dev/null; thenswiftlint#echo "skip"elseecho "warning: SwiftLint not installed, download from https://git
2022-04-24 15:06:08
5647
原创 flutter 底部弹窗showModalBottomSheet 超过9/16高度 键盘弹出不影响弹窗布局
flutter 底部弹窗showModalBottomSheet 超过9/16高度 键盘弹出不影响弹窗布局问题展示:底部弹窗的高度超过9/16(必须要用isScrollControlled: true),并且有输入框输入文本。当焦点在文本里,键盘会弹出把底部弹窗给顶出去。问题:屏幕高度< 弹框+键盘高度flutter 的底部弹窗控件为showModalBottomSheet超过9/16高度isScrollControlled: true,showModalBottomSheet(
2022-03-21 14:26:23
3990
原创 Alamofire源码分析
源码分析(test工程+源码注释工程)https://www.dropbox.com/sh/v7poaxekotxlaf1/AADQb7NbrrfHXJLrBt1Q51vVa?dl=0整体的流程图创建Session用来发送请求,可以自定义创建,也可以直接使用AF单例,默认的Session来发送请求外部调用request()方法,传入URLConvertible,创建Request对象内部开始先用URLConvertible来创建URLRequestConvertible对象用URLRe
2022-03-09 22:23:41
1339
8
原创 设计模式 结合Alamofire
设计模式 结合Alamofire单例模式保证一个类仅有一个实例。单例一旦创建,对象指针保存在静态区,单例对象在堆中分配的内存空间只有等程序结束才能释放,所以过多的单例会增大内存的小号。如果不是应用程序的生命周期短,就不应该使用单例。一般是伴随着程序的出生和结束的,所以一般使用单例模式来封装网络请求。public let AF = Session.default网络状态监听管理器public static let `default` = NetworkReachabilityManager()
2022-03-09 22:17:20
282
原创 Flutter 键盘与SingleChildScrollview配合使用 键盘滑动隐藏
flutter 键盘与singleChildScrollview配合使用隐藏键盘一般是点击屏幕(非textField)位置。但遇到复杂页面,类似scrollview的,有可能需要滑动隐藏键盘。flutter不用设置任何的位置跳转,只要点击textField就会自动滑到对应的位置。滑动隐藏键盘使用通知监听NotificationListener里对scrollview的滑动事件监听ScrollUpdateNotification//滑动隐藏键盘 return NotificationList
2022-02-25 15:07:47
2925
原创 iOS 10 UICollectionView 索引不存在问题 UICollectionView received layout attributes for a cell with an index
iOS 10 UICollectionView 索引不存在问题 UICollectionView received layout attributes for a cell with an index path that does not exist报的错误是解决方法,在reloadData后添加.collectionViewLayout invalidateLayout[self.tagCollectionView reloadData]; [self.tagCollectionView.co
2022-02-08 13:57:06
2117
原创 swift - WKWebView api功能分析
WKWebView参考文章(https://github.com/wszxy/WKWebViewCookie/tree/7861c27af73ba8522dca36cc0dee218d133ba0da)工程文件https://www.dropbox.com/sh/qghyu9xho6cgqfl/AAAf0QMjnGnJXhGAFYfLSXnAa?dl=0WKWebViewConfiguration用户代理字符串中使用的应用程序的名称 (不明白)open var applicationNameF
2022-01-26 11:38:30
4213
原创 Flutter顶部TabBar和表格TableRow
Flutter顶部TabBar和表格TableRow需求:显示样式为这样1、可左右滑动切换表格2、网络请求:一、切换才请求页面,二、表格有页码,支持上下拉刷新加载更多3、表格做缓存处理(用户滑到哪里,切换表格再切回来还是那个位置)4、点击行触发事件跳转5、跳转后下一个页面影响到该页面的数据(重新更新数据)UI代码分析TabBar如果单独写TabBar的话,会直接占满整个屏幕的宽度,所以外面需要套一层Container控制它的宽高。TabBar的controller为_tabCont
2022-01-19 14:47:47
2975
原创 flutter 自定义日历选择(没有用到第三方日历库)
flutter 自定义日历选择禁止转载、抄袭功能需求实现后是长这样的(因为项目要以底部弹窗显示,也可以整个UI自定义)要代码的私信我(看人品回复)项目需求:星期一在第一,星期日在最后一开始显示的是当前月份有startTime和endTime的限制,所以并不是每个日期都能选择选择全部工作日按钮,意思是除了星期六日和第三点的条件都选择已选统计选了多少天,下一步把选择的传到下个页面没有说需不需要滑动切换月份(我是没做了)在第3点外的月份不能点击全选干就完事了我看了日历第三方库,有
2021-11-09 21:01:19
2515
原创 iOS swift自定义日历
swift自定义日历(暂不支持滑动切换)拒绝转载,抄袭更不允许!!!!求别污染分享环境原图是这样的功能介绍暂不支持滑动切换月份,navigator右边是切换月份,每切换一次的月份会网络请求新的数据。当月的下一个月不能点击星期六日样式不一样,点击到当前cell的样式不一样,还没到的日期样式不一样,且不能点击(这优先级高)当月的话是默认点击当天的位置,若非本月默认第一个(可做有数据的第一个)数据返回的不是以每一天来返回,要对数据的时间进行遍历分析若点击到没有数据的cell,底部的信息框将不
2021-11-02 10:07:07
1054
原创 flutter学习之旅-进度条自定义控件
控件是长这样的代码实现是这样的import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';class RefoundDetailProgress extends StatelessWidget { const RefoundDetailProgress({Key key}) : super(key: key); @override Widget build(BuildContext
2021-10-27 15:41:41
1559
原创 swift学习之旅---SJVideoPlayer库
SJVideoPlayer(swift)https://github.com/changsanjiang/SJVideoPlayer 非常优秀的库,而且里面有大量的demo来供我们学习,给作者加颗星不过分吧610197491 库作者的官方群,如果遇到奇葩的问题找江哥解决pod ‘SJVideoPlayer’哔哩哔哩的ijkplayer在M1电脑跑太糟心了,真机不能跑,报的错误都是关于arm64的,网上我找不到教程,而且作者也好像不管这个库的更新了,到目前为止最近一次更新为5个月前,发了issues也
2021-09-22 16:24:48
1291
原创 AsyncDisplaykit(Texture)技术分享
AsyncDisplaykit(Texture)技术分享官方Texture文档:https://texturegroup.org/docs/getting-started.htmlgithub: https://github.com/TextureGroup/Texture可以下载github里example的代码看UIKit的绘制机制图解CALayer的display方法由系统调用,用来更新layer的内容,如果layer有delegate对象,那么display方法将尝试调用delegate的
2021-09-10 17:04:03
559
原创 OC学习2021-08
OC学习navigationcontroller不显示navigationBar需要设置代理来控制navigation@interface LoginViewController () <UINavigationControllerDelegate>代理方法- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewControll
2021-08-23 17:53:50
263
原创 2021-07-12-16 Objective-C学习文档
2021-07-12-16学习文档OC语法命令行编译(Clang编译器)内存weak strong copy assignid类型拷贝写法、重写NSString、NSMutableStringNSArray数组NSDictionary 表protocolOC内存优化OC函数库使用UIAlertController动画延迟方法xib使用自动布局KVC使用MVPOC语法命令行编译(Clang编译器)终端编译 :Clang -fobjc-arc 文件 -o编译器-内存管理 -o输出 输出文件内存内存
2021-07-16 16:46:54
295
原创 swift5学习之旅之代理通知block的使用
swift5学习之旅----代理通知block的使用工程文件(全是button类型的调用)Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/wbo7lwpphi8ibn9/AAAWxUOj0PRKDlTNfpPz_A11a?dl=0dropbox代理通知block的使用Protocol(协议)的作用:一、定义一套公用的接口(Public)@required:必须
2021-02-21 18:39:14
588
原创 swift5学习之旅之MapKit调用第三方地图
swift5学习之旅------MapKit调用第三方地图工程文件Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/9h0icjqbnormdat/AABW0L0Fy0ah7iPafAJ8jUuYa?dl=0地图Dropbox调用地图的代码//自带地图 func appleMap(lat:Double,lng:Double,destination:String
2021-02-18 20:18:20
343
原创 swift5学习之旅之简易聊天室
swift学习之旅------简易聊天室整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/5oyxgu8vwx0ypux/AAAJ_KACNiJXIdX77OT0srKUa?dl=0Dropbox 简易聊天室聊天室使用了Golang中的通信,可以参考别人的介绍https://github.com/dariencdd/StudyLog/wiki/Golang中c
2021-02-18 18:26:55
521
2
原创 swift学习之旅之 iOS Flurry使用
swift学习之旅------iOS Flurry使用选用 Flurry 的主要 原因是,只用一个 SDK 就可以同时实现崩溃报告和埋点。要想使用 Flurry,需要在 www.furry.com 中建立一个账户,得到一个 API 密钥,然后下载 并设置 Flurry SDK。使用教程在Flurry官网注册账号,企业邮箱填自己的个人邮箱也可以。注册完后跳转到自己的个人页面,这时候我们可以在上方点击+APP完成后它会自动生成个APIKey,这个一定要记住自己的APIKeyhttps://de
2021-02-18 16:25:53
388
2
原创 swift5学习之旅之地图MKMapView
swift5学习之旅----地图MKMapView显示自己的位置和print自己位置的地址(需要实机测试)需要在info.plist添加Privacy - Location When In Use Usage DescriptionPrivacy - Location When In Use Usage Description整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.
2021-02-13 15:14:18
660
原创 swift5学习之旅之数据收集
swift5学习之旅之-----数据收集整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/y8bqtv06vxbhx1b/AADVdXGgCyj-xZLvv5ZHm-C1a?dl=0Dropbox 数据收集链接主要的实现功能:button点击后的#selector操作@objc func storeSurvey(_ sender: AnyObject) {
2021-02-08 17:26:42
166
原创 swift5学习之旅之UIAlertController
swift5学习之旅-----UIAlertController三种类型的Alert整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/vp94ctk73frp97t/AABuyZ47DpyjALWjcNjRk480a?dl=0Dropbox AlertController整体代码UIAlertController基本使用方法 let alertContro
2021-02-08 16:39:56
226
1
原创 Swift5学习之旅之图片的单击显示图片、双击放大缩小、捏合放大缩小
Swift5学习之旅之纯代码实现图片的拖拽图片、单击显示图片、双击放大缩小、捏合放大缩小(UIControl, UIScrollViewDelegate)演示gif整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????,如果翻不了墙要代码可以私聊我https://www.dropbox.com/sh/r81dney8et2ob0h/AADN9NwnU-xXGiJEH3nb3D67a?dl=0上面的链接Dropbox 图片设置变更图片的核心代码
2021-02-06 16:21:31
1362
4
原创 Swift5学习之旅之UICollectionView、UIVisualEffectView(模糊)
Swift5学习之旅-----UICollectionView、UIVisualEffectView(模糊)整体代码Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞????https://www.dropbox.com/sh/jseevw291rrgf6d/AACwt1FsOKRKuEi64glXGWd_a?dl=0Dropbox UICollectionView、UIVisualEffectView(模糊)UICollectionViewCellc
2021-01-30 22:09:24
544
原创 Swift5学习之旅之UIToolbar(工具栏)、UIPickerView(选择器视图)键盘响应事件
Swift5学习之旅------UIToolbar(工具栏)、UIPickerView(选择器视图)键盘响应事件如果能提供到帮助请点个赞再关闭吧????GitHub还没上传,用着Dropbox先吧(可能要翻墙https://www.dropbox.com/sh/h7po1afkvpdf5p8/AAAjTKtKSPedsnxLerJnn_iRa?dl=0Dropbox ToolBar UIPickerViewUIPickerViewimport UIKitclass MyPickerV
2021-01-30 22:00:15
477
原创 Swift5学习之旅之自动轮播图(UIProgressView、UIPageControl)
Swift5学习之旅----自动轮播图(UIProgressView、UIPageControl)如果能提供到帮助请点个赞再关闭吧????GitHub还没上传,用着Dropbox先吧(可能要翻墙https://www.dropbox.com/sh/bk21cuya5bjew8o/AACOW3orlgvkoX7_yj12DJcQa?dl=0Dropbox 轮播图UIProgressView相关代码import UIKitclass MyProgressView: UIProgressV
2021-01-30 21:43:25
607
原创 Swift5学习之旅之UISegementedControl(分段控件)UIPageControl(翻页控制)
Swift5学习之旅-----UISegementedControl(分段控件)UIPageControl(翻页控制)UISegementedControl相关代码实现//// MySegementControl.swift// segmentedcontrol-PageControl//// Created by 小天才智能电脑 on 2021/1/28.//import Foundationimport UIKitclass MySegementControl: U
2021-01-30 21:36:40
404
原创 Swift5学习之旅之UISlider(滑块控制)、UIStepper(步进控制)
Swift5学习之旅----UISlider(滑块控制)、UIStepper(步进控制)UISlider相关功能代码import UIKitclass MySlider: UISlider { override init(frame: CGRect) { super.init(frame: frame) } required init?(coder: NSCoder) { fatalError("init(
2021-01-30 21:18:19
634
原创 Swift5学习之旅之UITextView、UITextField
Swift5学习之旅----UITextView和UITextFieldUITextView和UITextField最大的区别是:UITextView支持多行输入,而UITextField只能单行输入。UITextField可以使用密码UITextView是UIScrollView类型属于view类型,UITextField是UIControlUIControl默认情况下不会将自己捕获的时间传给superview,而UIView会将事件传给superviewUITextViewUIT
2021-01-30 21:03:17
571
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人