随笔分类 -  iOS开发篇

摘要:1、UIScrollView增加了属性allowsKeyboardScrolling表示是否根据连接的物理键盘的方向键而滚动。 import UIKit class ViewController: UIViewController { lazy var scrollView: UIScrollVie 阅读全文
posted @ 2023-09-14 17:44 Mr·Xu 阅读(3616) 评论(0) 推荐(0) 编辑
摘要:接上文【iOS面试总结】疫情隔离中,线上面试的问题集合(第一部分) 6、Runtime 6.1 介绍下Runtime? oc是一门动态语言,所谓动态语言就是在编译阶段无法确定调用的函数以及属性的类型,只有在运行阶段首次确定类型和调用的函数。 runtime就是动态语言下核心的一个库,底层都会通过ob 阅读全文
posted @ 2022-04-22 18:41 Mr·Xu 阅读(196) 评论(0) 推荐(1) 编辑
摘要:第一步:前往苹果开发者网站 第二步:找到网站最右边的导航:账号;点击进入导航页面 第三步:登录注册的开发者账号,没有的请现场注册一个;注意是开发者账号,不是你手机或其他苹果设备上的苹果账号; 第四步:登录您的账户后,您可以看到账户导航下的页面如下。点击页面底部的Join the Apple Deve 阅读全文
posted @ 2021-06-23 11:34 Mr·Xu 阅读(943) 评论(0) 推荐(2) 编辑
摘要:1、Appdelegate // 当前statusBar使用的样式 var statusBarStyle: UIStatusBarStyle = .default 2、基类控制器 class BMViewController : UIViewController { // 重现statusBar相关 阅读全文
posted @ 2021-06-18 15:39 Mr·Xu 阅读(157) 评论(0) 推荐(0) 编辑
摘要:import Foundation import JXCategoryView class LQQuoteDetailCategoryController: UIViewController ,UIGestureRecognizerDelegate{ var listViewDidScrollCal 阅读全文
posted @ 2021-04-23 19:30 Mr·Xu 阅读(355) 评论(0) 推荐(0) 编辑
摘要:公司要对接一个第三方平台,然后就有了一个可奇葩的逻辑,用户填写完相关信息后,点击提交,然后服务器返回一个网页的源代码……需要用WebView加载这个网页。 实现的时候发现,我自己写的简单的网页源码可以加载,但是服务器返回的就是无法加载。后来把源码保存成文件以后,用浏览器打开发现,该网页链接的站点是一 阅读全文
posted @ 2021-04-22 20:19 Mr·Xu 阅读(468) 评论(0) 推荐(0) 编辑
摘要:使用MJRefresh进行列表下拉刷新时,会出现列表上下颤抖问题 抖动的原因 我们先来看看在手松开之后我们对scrollView做了什么事情: ScrollViewDidEndDragging => setContentInset: 为了保证在“Loading”的状态下,下拉刷新控件可以展示,我们对 阅读全文
posted @ 2021-01-22 13:41 Mr·Xu 阅读(433) 评论(0) 推荐(1) 编辑
摘要:公司项目结束了,公司估计也快黄了,年底事少,也给了我不少时间来维护博客。 公司的项目是一个类似于简书的创作平台,涵盖写作、小说、插画内容。 本期主要先下小说阅读部分,UI样式仿照的是微信读书样式,因之前也写过小说阅读器,但是代码并没有解耦,这次彻彻底底做一次大改动。 小说用户的常见操作:当前阅读进入 阅读全文
posted @ 2021-01-21 16:00 Mr·Xu 阅读(867) 评论(0) 推荐(2) 编辑
摘要:import Alamofire class VersionCheck { public static let shared = VersionCheck() func isUpdateAvailable(callback: @escaping (Bool)->Void) { let bundleI 阅读全文
posted @ 2020-11-10 15:32 Mr·Xu 阅读(169) 评论(0) 推荐(0) 编辑
摘要:在iOS13中,如果苹果开发者提供任何其他第三方登录,就必须提供“苹果登录”选项。也就是说,如果软件要求“微信登录”或是“QQ登录”时,必须同时提供“苹果登录”的选项给用户自行选择。根据苹果公司最新公布的指南,要求开发者在苹果终端的应用程序登录界面上,将“苹果登录”选项列在任何其他第三方登录的选项之 阅读全文
posted @ 2020-11-10 10:21 Mr·Xu 阅读(1207) 评论(0) 推荐(1) 编辑
摘要:1. 你在开发过程中常用到哪些定时器,定时器时间会有误差吗,如果有,为什么会有误差? iOS中常NSTimer、CADisplayLink、GCD定时器,其中NSTimer、CADisplayLink基于NSRunLoop实现,故存在误差,GCD定时器只依赖系统内核,相对一前两者是比较准时的。 误差 阅读全文
posted @ 2020-10-30 17:02 Mr·Xu 阅读(292) 评论(0) 推荐(2) 编辑
摘要:我们所开发的项目,随着线上功能逐渐稳定,导致项目启动速度越来越慢,而这又是用户对我们的项目给第一印象,所以启动速度变得尤为重要,如果启动速度缓慢,会造成比较严重的用户流失,所以,对启动速度的优化,将会成为我们后期开发工作中不可或缺的一部分。 基础概念 冷启动:是指启动并没有进程在系统里,需要系统新创 阅读全文
posted @ 2020-10-29 13:43 Mr·Xu 阅读(532) 评论(0) 推荐(0) 编辑
摘要:在开发过程中,Timer可以说是比较常见的了,用来做一些定时性的操作。可实际过成功,Timer的时间真的准吗?下面写几个代码来做验证。 1、Timer timer = Timer.scheduledTimer(timeInterval: 1.0, target:self, selector: #se 阅读全文
posted @ 2020-10-28 13:16 Mr·Xu 阅读(1007) 评论(0) 推荐(1) 编辑
摘要:在 iOS 13 中 Apple 为 UITableView 和 UICollectionView 引入了 DiffableDataSource,让开发者可以更简单高效的实现 UITableView、UICollectionView 的局部数据刷新。新的刷新的方法为 apply,通过使用 apply 阅读全文
posted @ 2020-06-15 14:31 Mr·Xu 阅读(539) 评论(0) 推荐(2) 编辑
摘要:耗电优化最终目的:通过尽可能降低CPU、GPU功耗来降低手机电量消耗。 (1)尽可能少用定时器; (2)优化I/O操作(所谓的I/O操作也就是文件操作,我们简称为I/O操作。怎么优化呢?尽量不要频繁写入小数据,最好批量一次性写入。读写大量主要的数据时,考虑用dispatch_io,其提供了基于GCD 阅读全文
posted @ 2020-06-12 13:18 Mr·Xu 阅读(336) 评论(0) 推荐(2) 编辑
摘要:SpotLight主要功能是在iOS9系统界面下拉会出现搜索功能界面,在这里可以搜索关键信息,来展示应用内的内容,并且点击信息打开应用跳转具体页面等操作。这个功能还是很有用的,面对这越来越多的应用霸占你手机,给你的应用加上这么一个搜搜功能,还是有点与众不同,主要是提升逼格。 1、导入头文件 impo 阅读全文
posted @ 2020-06-02 18:26 Mr·Xu 阅读(352) 评论(0) 推荐(2) 编辑
摘要:1、需求 首先、针对UILabel中显示的多个功能标签,作出颜色标记提示。 其次、对关键字作出点击响应动作。 如图所示: 解决: 1、使用正则匹配到关键字 public static var hashtag = DetectorType.custom(try! NSRegularExpression 阅读全文
posted @ 2020-05-08 20:02 Mr·Xu 阅读(2877) 评论(4) 推荐(2) 编辑
摘要:1、判断字符串是否是url - (BOOL)checkUrlWithString:(NSString *)url { if(url.length < 1) return NO; if (url.length>4 && [[url substringToIndex:4] isEqualToString 阅读全文
posted @ 2020-04-23 19:26 Mr·Xu 阅读(4064) 评论(4) 推荐(1) 编辑
摘要:代码支持: 1、长按textView弹出换行操作; 2、自定义文字间距; 3、为textView添加placeholder文字; 直接贴代码: 1、.m文件 #import "TextView.h" @interface TextView () { NSInteger b_index; } @end 阅读全文
posted @ 2020-04-16 12:18 Mr·Xu 阅读(699) 评论(2) 推荐(2) 编辑
摘要:1、注册通知 NotificationCenter.default.addObserver(self, selector: #selector(audioRouteChangeListenerCallback(notification:)), name: AVAudioSession.routeCh 阅读全文
posted @ 2020-04-07 20:55 Mr·Xu 阅读(964) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示