UIButton属性
1.UIButton状态:
UIControlStateNormal // 正常状态
UIControlStateHighlighted // 高亮状态
UIControlStateDisabled // 禁用状态
UIControlStateSelected // 选中状态
UIControlStateApplication //
UIControlStateReserved // 保留状态
2.Uibutton类型:
UIButtonTypeCustom //自定义类型
添加图片: 灰色背景颜色:
UIButtonTypeSystem // 系统
UIButtonTypeRoundedRect //圆角类型
UI...
iOS之UIViewController超级详解
UIViewController职责视图管理处理与视图相关的通知实现容器视图控制器内存管理生命周期以代码的方式创建一个控制器initWithNibName:bundle:initWithCoder:管理视图viewviewLoadedloadViewviewDidLoadloadViewIfNeededviewIfLoadedtitlepreferredContentSize呈现视图控制器modalPresentationStylemodalTransitionStyleshowViewController:sender:presentViewController:animated:completion:dismissViewCo...
大牛总结的 Git 使用技巧,写得太好了
本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考。因为水平有限,难免会有出错的地方,欢迎指正。
Git是什么
官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。
引用廖雪峰老师的话,它能自动帮我记录每次文件的改动,还可以让同事协作编辑,...
iOS之WKWebView的使用详解
一、WKWebView涉及的一些类
WKWebView:网页的渲染与展示
注意: #import
//初始化
_webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) configuration:config];
// UI代理
_webView.UIDelegate = self;
// 导航代理
_webView.navigationDelegate = self;
// 是否允许手势左滑返回上一级, 类似导航...
iOS简单的使用socks5代理服务器
iOS 使用socks5代理服务器需要配置URLSessionConfiguration,如下:
let dict: [String:Any] = [kCFStreamPropertySOCKSProxyPort as String: 9180, kCFStreamPropertySOCKSProxyHost as String: "127.0.0.1"]
let configuration = URLSessionConfiguration.ephemeral
configuration.connectionProxyDictionary = dict
let session = URLSession(configuration: configuration)
let task = session....
iOS 13 正式发布,来看看有哪些 API 变动
iOS 13 已正式发布,网上对其用户体验上的新特性的描述也很多。对于开发来说,需要关注的另一方面是新系统在 API 层面做了哪些改动,从而会对我们现有的代码产生什么影响。
在这里,我们基于 iOS 13 Release Notes 做了一些整理,主要是列表出 Apple 提供的一些新的 API 和弃用了哪些 API,一起来看看。
General
• iOS 13 不再支持 UIApplicationExitsOnSuspend。需要更新应用以处理现...
真正的敏捷工作流 —— GitHub flow
7991 年,随着极限编程(Extreme programming)方法论的提出,持续集成(Continuous integration)也随之成为一项标准化的敏捷实践,被逐步应用于各类软件的开发流程中。
9102 年的今天,持续集成的概念已经在软件开发领域生根发芽,广泛应用于不同平台及设备的项目开发,极大提升了项目迭代速度,降低了维护成本。
不过,作为“敏捷”的固有属性,持续集成也并不仅限于特定的模式,不同的项目可能遵...
使用 Python 脚本下载 IPA
作为开发人员,在实现功能时经常需要参考竞品的实现,除了借鉴开源代码外逆向也是一种可行的办法,对于 iOS 开发而言逆向的第一步便是找到脱壳的 IPA。在早于 12.7 版本的 iTunes 可以方便的搜索 AppStore 和下载导出 IPA,如今本就羸弱且饱受诟病的 iTunes 去掉了这一功能。
兵来将挡,水来土掩。作为补救措施,还可以通过使用越狱的手机自主脱壳和从 PP 助手等软件下载脱壳的 IPA。随着 iOS 愈加开放...
RxSwift特征序列详解
一、概述
任何序列都可以用Observable描述,创建序列 -> 订阅序列 -> 信号发送 -> 信号接收。
Observable.create { (observer) -> Disposable inobserver.onNext("信号1")return Disposables.create()
}.subscribe(onNext: { (val) inprint("信号接收区:\(val)")
}).disposed(by: disposeBag)复制代码
Observable是通用序列的描述符,调用.onNext,.onError,onCompleted来发送信...
一线开发者对于App架构和组件化的思考
写在前面
关于App架构、组件化,本文的内容不会涉及到具体代码层面,也不会介绍怎样使用Cocoapods去做组件化;而是站在软件工程的角度上,结合自己多年一线开发经验,去分析如何做App架构,如何通盘考虑什么样的架构才是合理的,契合自身业务的,以及架构落地过程中应该规避哪些问题。
名词解释:本文中所提到的架构不是实际工程中代码架构(MVC、MVVM、MVP),确切的说是一种应用分层架构。而MVC、...