- 博客(61)
- 收藏
- 关注
原创 iOS App内部打开第三方App 比如:淘宝,京东,拼读多,抖音,快手,微信
【代码】iOS App内部打开第三方App 比如:淘宝,京东,拼读多,抖音,快手,微信。
2023-06-15 12:04:56
1264
原创 Swift中的访问权限
访问权限 2.public:公开访问权限,类或者类的公有属性或者公有方法可以从文件或者模块的任何地方进行访问。那么什么样才能成为一个模块呢?一个app就是一个模块,一个第三方API,第三方框架等都是一个完整的模块。这些模块如果要对外留有访问的属性或者方法,就应该使用public的访问权限。public的权限在swift3.0后无法在其他模块被复写方法/属性或被继承。3.internal:有着interna
2022-12-08 17:54:09
1029
原创 iOS 如何设置tableViewHeader控件的高度 附代码
如何设置tableViewHeader控件的高度第一种情况,如果是在控制器中添加的tableView,并且要设置tableViewHeader高度,要重写 viewDidLayoutSubviews, 看下面代码第二种情况,如果是在 自定义的视图View 中添加的tableView,并且要设置tableViewHeader高度,要重写 layoutSubviews, 看下面代码...
2022-06-16 09:41:30
1341
原创 iOS -- 第三方登录之微信登录 (Swift代码)
第一步: 不管微信登录,微信支付,微信分享都需要到微信开放平台注册账号后并注册应用,拿到应用唯一标识AppID和应用密钥 AppSecret然后集成SDK,具体如何集成查看官方文档,文档有详细介绍微信开放平台–SDK 接入指南第二步:在桥接文件中导入头文件#import "WXApi.h"在 AppDelegate 的 didFinishLaunchingWithOptions方法中注册(代码如下) WXApi.registerApp(WXAppId, universalLink:
2022-03-25 14:16:55
6131
原创 iOS 利用UIPickerView 实现 省市区 联动 swift
效果图直接上代码class Test1ViewController: BaseViewController,UIPickerViewDelegate,UIPickerViewDataSource { var provinceRow = 0 var cityRow = 0 var areaRow = 0 var province = "" var city = "" var area = "" lazy var dat
2022-03-24 14:54:45
2413
原创 Swift 在UIButton扩展中添加 block 点击事件
直接看代码,代码中有详细注释extension UIButton { // 定义关联的Key private struct UIButtonKeys { static var clickKey = "UIButton+Extension+ActionKey" } func addActionWithBlock(_ closure: @escaping (_ sender:UIButton)->()) {
2022-03-17 11:36:03
2044
原创 Swift 利用runtime方法全局解决 模态试图不全屏显示问题
extension UIViewController{ class func loadMethodSwizzing(){ let originalSelector = #selector(UIViewController.present(_:animated:completion:)) let swizzledSelector = #selector(UIViewController.my_present(_:animated:completion:))
2022-03-15 10:56:35
1637
原创 Swift 打印 log 所在的文件,函数和行数
把下面代码放在const(常量)文件中//获取打印的文件名、打印函数、打印行数func printLog(_ msg: Any,file: NSString = #file,line: Int = #line,fn: String = #function) { #if DEBUG let t = String.formatDate(Date(), "yyyy-MM-dd HH:mm:ss.SSSSSS") let prefix = "\(t) \(file.lastPathCom
2022-03-10 11:32:19
2501
原创 iOS 纯Swift开发的常用第三方库
1.网络图片加载框架 Kingfisher,类似OC中的SDWebImage2.网络请求框架 Alamofire,类似OC中的AFNetWoriking3.控件约束框架SnapKit4.获取相册照片,视频,拍照,剪辑照片框架 ZLPhotoBrowser5.主流app分类,滚动切换视图框架 JXSegmentedView6.图表,趋势图框架,Charts7.字典转模型,模型转字典框架,KakaJSON7.字典转模型 框架,SwiftyJSON8.弹框提示,loading框架,Toast-Sw
2022-03-09 17:02:05
3263
原创 viewDidLayoutSubviews在什么情况下会被调用
第一种情况:初次加载控制器的时候自定义的TestView0 在viewDidLoad中添加 viewDidLoad ---- TestView0初始化 ---- viewWillLayoutSubviews viewDidLayoutSubviews TestView0 -- layoutSubviews第二种情况:给控制器添加子控件时 viewWillLayoutSubviews viewDidLayoutSubviews第三种种情况: 改变 子控件(TestView0)的宽或者
2022-03-09 11:10:29
1811
原创 iOS 轮播图 框架KJBannerView 使用
懒加载 lazy var bannerView:KJBannerView = { let view = KJBannerView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 180)) view.imgCornerRadius = 10 //圆角 view.autoScrollTimeInterval = 7.0 //自动滚动时间间隔 view.itemSpace = 20
2022-03-08 16:41:01
832
原创 iOS 给UIView添加虚线边框
看代码 extension UIView{ /* width:虚线的宽度 length:虚线的长度 space:虚线间的间距 cornerRadius:view圆角 color:虚线的颜色 */ func swiftDrawBoardDottedLine(width:CGFloat, length:CGFloat,space:CGFloat,corner
2022-03-08 10:37:33
2348
原创 Swift 弹框 第三方库 Toast-Swift(弹框提示)
GitHub 上搜索这个库,然后下载zip文件,找到如下文件,拖到项目中就可以使用先看效果图1这个弹框显示位置可以设置在屏幕中心,底部,头部都可以,代码如下: kWindow.makeToast("读取完成", duration: 2, position: .center)先看效果图2代码如下://显示kWindow.makeToastActivity(.center)//隐藏kWindow.hideToastActivity()先看效果图3代码如下: kWindow.
2022-03-04 15:51:16
4056
原创 iOS -- 通过颜色来生成一个纯色图片
extension UIImage{ static func imageWithColor(color:UIColor) -> UIImage?{ let rect = CGRect.init(x:0, y:0, width: 1, height: 1) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGetCurrentContext()! contex
2022-03-04 10:47:49
1491
原创 iOS -- 版本更新检查
NetworkTool.checkUpdate { releaseNotes,isNeedUpdate in print(releaseNotes,isNeedUpdate) if isNeedUpdate { //弹框提示更新 if !kWindow.subviews.contains(self.updateView) { kWindow.addSubview(self.updateVie...
2022-03-03 17:52:57
2511
原创 iOS 判断应用是否是第一次启动
//MARK: 判断应用是否是第一次启动 static func isFirstLaunch() -> Bool { let infoDic = Bundle.main.infoDictionary if let dic = infoDic { //获取当前应用的版本号 let currentAppVersion = "\(dic["CFBundleShortVersionString"] ?? "")" .
2022-03-03 16:53:59
403
原创 iOS 截图 对view指定区域 以及 对图片 指定区域截图
//MARK:获取截图,对view 制定区域截图 static func getCropImage(_ view:UIView,size:CGSize) -> UIImage { //false是透明背景 true是不透明 UIGraphicsBeginImageContextWithOptions(size, false, 0.0) view.layer.render(in: UIGraphicsGetCurrentContext()!)..
2022-03-03 16:16:53
1492
原创 iOS中 获取进程信息-NSProcessInfo
func testProcessInfo(){ print("进程编号 --- \(ProcessInfo.processInfo.globallyUniqueString)") print("进程编号 --- \(ProcessInfo.processInfo.environment)") print("进程 主机域名 -- \(ProcessInfo.processInfo.hostName)") print("进程名称 -- \(Pr..
2022-03-03 11:42:08
1247
原创 iOS -- 单击,双击手势冲突解决 (Swift)
直接上代码,代码中有注释第一种写法 ///手势 lazy var tapGestureRecognizer: UITapGestureRecognizer = { let tap = UITapGestureRecognizer(target: self, action: #selector(tapAction(tap:))) return tap }() ///上次点击时的时间 var lastTapTime:TimeInterval =
2022-03-02 16:04:21
1857
原创 iOS-UIActivityIndicatorView基本使用 (系统loading加载)
lazy var indicatorView:UIActivityIndicatorView = { let tempview = UIActivityIndicatorView.init(style:.large) tempview.frame = CGRect.init(x: 200, y: 200, width: 100, height: 100) tempview.color = .white tempview.backgrou...
2022-03-02 11:15:11
997
原创 iOS -- 让图片顺时针持续旋转
var angle = 0.0 //旋转角度 override func awakeFromNib() { super.awakeFromNib() startAnimation() } func startAnimation() { let endAngle = CGAffineTransform(rotationAngle: CGFloat(angle*Double.pi/180.0)) //0.05s 旋转...
2022-03-02 10:36:58
836
原创 iOS -- currentViewController 获取当前页面控制器
1.主要代码import UIKitextension UIViewController{ static func findBestViewController(vc:UIViewController) -> UIViewController { if vc.presentedViewController != nil { return self.findBestViewController(vc: vc.presentedViewControlle
2022-03-01 16:16:49
537
原创 iOS -- 播放本地音频文件 (Swift)
1.封装的方法,项目中如果多处使用,可以放在工具类中 static func play(name:String,type:String) { let audioPath = Bundle.main.path(forResource: name, ofType: type) if let filePath = audioPath { let url = URL(fileURLWithPath: filePath) var sou
2022-03-01 10:29:28
1438
原创 iOS -- 图片数组 生成视频 一键成片
可以直接拷贝到工具类中使用import UIKitimport AVFoundationenum AnimationType { case fromRightToLeft case fromLowerToUpper case zoomOut case zoomIn case rotate case fadeInFadeOut}class ImageAnimationTool { static let shared = I
2022-02-22 17:27:20
1634
1
原创 iOS --蓝牙扫描、连接、读取数据
直接上代码 代码中有详细的注释 可以将代码复制到工具类中使用import UIKit@_exported import CoreBluetooth class BluetoothTool: NSObject { static let sharedBle = BluetoothTool() //单例 var centralManager:CBCentralManager? var periphherals = [String:CBPeripheral]() var c
2022-02-21 19:49:15
1787
转载 iOS系统中设备的唯一标识 -- IDFV(identifierForVendor)
代码获取IDFV标识 var uuidString = "" if let vendor = UIDevice.current.identifierForVendor { uuidString = vendor.uuidString } print("uuidString == \(uuidString)") //打印结果// uuidString == 198197
2022-02-12 15:08:16
7459
原创 iOS --- 把汉字转化成拼音 Swift
extension String { /** 把汉字转化成拼音 */ func transformToPinYin() -> String { let mutableString = NSMutableString(string: self) //把汉字转为拼音 CFStringTransform(mutableString, nil, kCFStringTransformToLatin, false)
2022-02-12 11:33:14
482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人