段落中部分文案添加点击事件
import UIKit import CoreMedia import CoreMIDI open class HHTouchableLabel: UILabel { var touchBlocks:[String:()->Void] = [:] public required init?(coder aDec…
阅读全文 »已阅读 183 次import UIKit import CoreMedia import CoreMIDI open class HHTouchableLabel: UILabel { var touchBlocks:[String:()->Void] = [:] public required init?(coder aDec…
阅读全文 »已阅读 183 次iOS pod update遇到The ‘Pods-XXX‘ target has transitive dependencies that include statically linked binaries这个问题经过查询资料可以通过在Podfile添加如下配置解决 pre_install do |installe…
阅读全文 »已阅读 845 次今天在做一个功能的时候需要将部分view包含在一个大的容器,发现在这样做后,在这个打容器下层的View的点击事件完全失效了,于是就想着把容器的userInteractionEnabled设为false,然后试了一下发现这个时候这个打容器里的View的点击事件又不生效了,于是发现通过userInteractionEnab…
阅读全文 »已阅读 844 次在我们开发过程中可能会遇到UICollectionView的这个Delegate方法的时候不生效,那么是因为什么原因不生效呢?下面我给出一张截图说明一下原因 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayo…
阅读全文 »已阅读 1,098 次最近遇到一个问题就是我们公司用自己的企业账号上的证书打包的ipa文件每过一年都需要重新重新把现在的一些ipa文件重新打包发布管理,这种做法效率其实很低下,因为有可能我们引用的三方库已经升级更新后会造成工程不可用,需要花费很大精力去进行同步升级工程代码才可以,那么我们其实有更好的方法去解决这种困境,我们可以通过对ipa文…
阅读全文 »已阅读 1,572 次let originalString = “test/test” let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) print(escapedString!)
阅读全文 »已阅读 1,034 次接下来是在openUrl里处理打开的操作,会给出选定文件的本地URL func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool { if url.i…
阅读全文 »已阅读 1,750 次import UIKit enum AlignType : NSInteger { case left = 0 case center = 1 case right = 2 } class EqualCellSpaceFlowLayout: UICollectionViewFlowLayout { //两个Cell之间…
阅读全文 »已阅读 434 次今天在写一个功能的时候用到了Dictionary 的 grouping by 这个用法,代码先贴出来 import UIKit class AlignFlowLayout: UICollectionViewFlowLayout { required init(itemSize: CGSize = CGSize.zero…
阅读全文 »已阅读 1,159 次今天翻原来写过的代码发现有些看不懂了,比如@escaping这货我就看不太懂了,为什么会在传入一个方法的时候会给闭包加上这这个呢? 就例如如下代码: func createViewModel(pay:@escaping (()->Void),change:@escaping (()->Void)) ->…
阅读全文 »已阅读 2,166 次在iOS中想在不依赖任何ViewController的情况下显示UIAlertController,在适配iOS13之前的写法是如下: public func hhShowViewController(_ animated:Bool,completion: (() -> Void)?) { let popWind…
阅读全文 »已阅读 3,915 次//MARK: – 查找顶层控制器、 /// 获取顶层控制器 根据window func getTopVC() -> (UIViewController?) { var window = UIApplication.shared.keyWindow //是否为当前显示的window if window?.wind…
阅读全文 »已阅读 1,128 次在我们iOS日常的开发过程中会遇到各种各样的内存泄漏问题,这个问题表面可能看起来并不严重,但实际有很大的弊端,会造成过多内存的使用不会被回收,所有今天我来总结一下我遇到过的内存泄漏的问题以及我查找的思路。 ###下面我就来总结一下常见内存泄漏出现的地方。 在使用Timer造成的内存泄漏 相信我们在做开发过程会时不时用到…
阅读全文 »已阅读 1,250 次最近两天在修改一个项目中出现的bug,就是有一个搜索界面的SearchBar下做了一个搜索历史的列表展示,在不是带刘海屏的手机上显示一切ok,但遗憾的是在刘海屏上搜索列表就会被遮挡一部分,当然这个搜索历史View的位置是用frame直接写的,于是我就各种试,用自动布局写了些发现问题很大到最后都没发现问题为啥会出现,于是…
阅读全文 »已阅读 1,527 次在使用UISearchController的过程中遇到了很多问题,踩过了很多坑,现在记录并总结一下。 1. 第一个问题就是sectionIndex和Searchbar的冲突 searchBar加到tableView的headerView上,然后为tableView添加sectionIndex,问题就出来了,因为sect…
阅读全文 »已阅读 1,342 次如果APP没有设计暗黑模式那么可以通过设置禁用暗黑模式 禁用方式如下: 在程序的Info.plist文件中加入: key: UIUserInterfaceStyle value: Light
阅读全文 »已阅读 1,942 次今天在适配iOS13的时候发现像获取或设置UITextField的PlaceHolder崩溃,造成崩溃的原因是如下这样的写法,现在被系统禁止使用了 color = [textField valueForKeyPath:@”_placeholderLabel.textColor”]; 现在正确的写法如下 UITextFi…
阅读全文 »已阅读 1,703 次首先我们需要准备UI界面,然后我们需要在Info.plist中添加如下配置 <key>NSLocationWhenInUseUsageDescription</key> <string>应用将在运行过程中获取位置信息</string> <key>NSLocat…
阅读全文 »已阅读 1,681 次func currentYear() -> String { let date = Date() let caledar = Calendar.current let year = caledar.component(.year, from: date) return “\(year)” } 我这里只写了一个获取…
阅读全文 »已阅读 1,130 次