
Swift
心若向阳_无谓悲伤
既然选择了远方,便只顾风雨兼程
展开
-
scrollView 在改变控制器导航栏是否透明时,scrollView下移
1、进入控制器,在viewWillAppear方法里设置导航栏透明,为了是scrollView不偏移,设置了:scrollView.contentInsetAdjustmentBehavior = .never但是我的业务场景还有,当页面往下滑动的时候,恢复导航栏不透明效果,此时,scrollView又发生了下移解决方法:extendedLayoutIncludesOpaqueBars = true...原创 2022-05-29 18:24:11 · 287 阅读 · 0 评论 -
writetoFile failure
write ToFile1、存入的是基本类型,例如:NSNumber (NSInteger, Float, Double), NSString, NSArray, NSDictionary, Bool, NSDate。。。。等2、写入的数据不能为自定义类型或者NUll,不过自定义类型可以通过归档讲数据转化为NSDate类型根据以上第二条,通过抓包,我们存入的数据包含,null,所以一直 存入失败,可以直接把类型转为 string,防止出错//数组转json func getJSONStrin原创 2022-02-16 17:41:52 · 1733 阅读 · 0 评论 -
UIScrollView 页面上滑到屏幕内触发事件
View是否在屏幕内,View出现在屏幕内原创 2021-12-13 17:57:40 · 362 阅读 · 0 评论 -
给UItextView设置placeHolderLabel
let ideaTextView = UITextView() let placeHolderLabel = UILabel() placeHolderLabel.text = "写下你的问题或建议,我们将及时跟进解决(建议上传截图帮助我们解决问题,感谢!)" placeHolderLabel.numberOfLines = 0 ...原创 2021-12-13 15:40:36 · 273 阅读 · 0 评论 -
dyld: Library not loaded: @rpath/****.framework/***
错误:dyld: Library not loaded: @rpath/****.framework/**** Referenced from: /Users/***/Library/Developer/CoreSimulator/Devices/167421B8-6B78-4F72-A226-240737DB7961/data/Containers/Bundle/Application/EDEF2AEB-790F-4AB7-9D98-CD387DA67B30/****.app/**** Re原创 2020-06-01 18:32:20 · 955 阅读 · 0 评论 -
iOS URL 正则
如果判断一个整体string是否是一个URL,可以直接用URL来创建一个实例,当然也可以用下面的正则判断: func checkURL(_ url: String) -> Bool { let pattern = "(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=...原创 2020-03-06 14:14:52 · 862 阅读 · 0 评论 -
ios .创建文件,文件夹,压缩文件
文件压缩使用的是GZIP swift版本:GZIP这个只提供了一个data的扩展,所以要自己创建文件,当然没有直接的三方工具方便,不过可行哦~class DataTrackingCache: NSObject { static let directory = "DataTracking" static let gzipDiretory = "DataTracki...原创 2020-02-26 12:53:55 · 688 阅读 · 0 评论 -
iOS 从app中分享出小程序
1、小程序缩略图的图片比例是:5:42、需要小程序的原始ID: gh_xxxxxxxx 一定是gh开头的3、需要path:pack-xxxx/xxxxx/xxxxxx 类似这种4、使用微信分享方法,我这里用的是原生微信分享,没有使用第三方示例代码如下: static func shareToWechatSession(_ title: String, image:...原创 2020-02-20 12:22:27 · 1212 阅读 · 0 评论 -
关于 Arabic(阿拉伯语)的一些适配
1、UIButton 同时添加图片和文字的时候,一般是图片在左,文字在右,稍微加些间距,就可以满足设计师们的要求;有些需求是文字在左,图片在右,这个时候其实我们也只需要把UIbutton的方向改变一下就可以了:UIView.userInterfaceLayoutDirection(for: .unspecified) = .rightToLeft在XIB中就是UIButton下面的关于的...原创 2020-01-13 14:52:36 · 1670 阅读 · 0 评论 -
Expected date string to be ISO8601-formatted
我们定义一个 time 类型为 Date例如:struct SessionTime: Codable { let sessionStartTime: Date? let sessionEndTime: Date? let newSessionStartTime: Date? let newSessionEndTime: Date?}并且在解析的时候,...原创 2019-12-02 16:51:00 · 629 阅读 · 0 评论 -
IOS 从相册里拿到照片的格式转换
iPhone手机有一些实况图,全景图等,如果直接去文件后缀,安卓或者web是不支持的,我们的需求就是把这些格式全部都转成任何的格式,JPEG就可以,简单的来写,就是如下代码:import MobileCoreServices public func getOriginalPhotoData(_ asset: PHAsset?, completion: @escaping (_ da...原创 2019-08-28 19:04:02 · 1448 阅读 · 0 评论 -
iOS 判断屏幕方向锁定是否开启
网上找了很多,都不是自己想要的 func isProtraitLockOn() -> Bool { let app = UIApplication.shared var foregroundView: UIView? var cls: UIView.Type? let statusBar: UIView? = app...原创 2019-06-26 16:22:50 · 2275 阅读 · 1 评论 -
解决点击按钮使屏幕横屏,iPad无效
我们的APP是支持屏幕旋转的,当然,支持屏幕旋转,只需要如下勾选就可以了:所以,当用户锁定屏幕方向的时候,我们的APP也是会随之锁定方向但是,我们有些页面,是无论用户是否锁定屏幕,都可以支持横屏的,代码如下:func didClickFullScreenButton(_ sender: UIButton) { sender.isSelected = !sender...原创 2019-06-20 16:33:55 · 968 阅读 · 0 评论 -
IOS UIViewController 在popView 8秒之后才走dealloc/deinit
今天在测试页面释放的时候,发现每次都是过了几秒之后才走deinit,然后就逐步的查找问题,既然走了deinit方法,就不会是强引用导致的,通过代码注释的方法(好low),才想起来,我这个页面是需要8秒之后就要隐藏掉页面的所有View,点击才显示出来,所以我写了个方法:perform(#selector(hideView), with: nil, afterDelay: 8)问题就是这个d...原创 2019-05-24 11:17:13 · 793 阅读 · 0 评论 -
获取当前页面的path
模块化开发相信大家早已经有所接触,或看过文章,或自己搭建了一个项目测试,或公司正在使用,网上关于模块化,组件化的文章也颇多,我便不再多述,写此篇的目的,是为了记录自己的问题:MGJRouter 提供了注册和打开某个页面的方法MGJRouter.registerURLPattern(buildPath(path: routable.path), toHandler: { (param...原创 2019-04-20 11:57:16 · 1221 阅读 · 0 评论 -
纯代码实现 presentAsPopView
在iOS中,segue的class为UIStoryboardSegue,用于storyboard中不同视图控制器间转场,即从一个视图控制器转场到另一个视图控制器。Segue的起点必须是一个view或者定义某些操作的对象,如:UIBarButtonItem、UIControl和UIGestureRecognizer。Segue分为以下几种类型,其中Push、Modal、Popover和Repla...原创 2019-03-29 11:17:17 · 407 阅读 · 0 评论 -
给UItextView设置placeHolderLabel
let ideaTextView = UITextView() let placeHolderLabel = UILabel() placeHolderLabel.text = "写下你的问题或建议,我们将及时跟进解决(建议上传截图帮助我们解决问题,感谢!)" placeHolderLabel.numberOfLines = 0 ...翻译 2019-03-27 19:33:52 · 901 阅读 · 0 评论 -
'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto'
swift3消除警告'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto'Swift3废除了subString(from\to\with:)字符串截取方法。而截取方法改成了:let newStr = String(str[..<index])...原创 2019-03-27 16:22:50 · 3471 阅读 · 0 评论