Scrollable-GraphView.swift - 灵动感十足的自适应、可定制滚动曲(折)线图表库。...Eureka.swift - Eureka 是 XLForm 的 Swift 的移植版本, 一个可以帮助开发者们快速构建 iOS 各种复杂表单的库, 具有较高的可扩展性, 方便自定制样式。...ZYThumbnailTableView.swift - 可展开型预览TableView,开放接口,完全自由定制。...YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解。...TabDrawer.swift - 更适合单手操作的可定制 Tab Bar 组件库。P.S. 自动布局选择了 EasyPeasy。
Eureka.swift - Eureka是XLForm的Swift的移植版本,一个可以帮助开发者们快速构建iOS各种复杂表单的库,具有较高的可扩展性,方便自定制样式。...ZYThumbnailTableView.swift - 可展开型预览TableView,开放接口,完全自由定制。...YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解。...LxGridView-oc LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。...JWAnimatedImage.swift - JWAnimatedImage.swift集中了目前主流的GIF显示库(如FLAnimatedImage,Gifu等)的优点,进行重构,代码短小精悍。
1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标...count } // 分区头部显示 func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int...count if tableView.isEditing { count += 1 } return count } // 分区头部显示...func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?...// Dispose of any resources that can be recreated. } } 下载demo:https://github.com/silencesmile/Swift_UITableView
示例,如:V: |-(0)-Label1-(0)-Label2-(0)-| 方向:从左到右,从上到下 V:表示方向为垂直方向,也就是竖向;H为横向。...接着代码中注册C2.xib到UITableView。...TZStackView,基于Swift的StackView库,同样支持iOS7+以上的系统,但是不支持storyboard。...UIStackView中的排布方式的属性,其中有水平排布与垂直排布 Alignment:这个属性是其中子视图的位置摆布方式默认是填充摆布 Fill:子视图填充他所在的位置(默认) Leading:子视图头部对齐...Proportionally:按照目前相对位置进行填充 Equal Spacing:等间距 Spacing设置子视图之间的间距大小 Baseline Relative:如果设置子视图间距的大小为基线到下一个视图的头部
MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。...ZLSwiftRefresh - swift下拉刷新/上拉加载更多,支持自定义动画,集成简单,兼容UITableView/CollectionView/ScrollView/WebView。...Blurable.swift - swift模糊组件。...RichEditorView - swift,一套可定制富文本编辑器组件及示例。...cleartext-mac.swift - 提供一千个常用单词的编辑器。 GlitchLabel.swift - 可定制“黑(故障)文字标签”类库,熟称晃瞎你的眼文字标签。
UICollectionView 这里面是一个概述,展示了DiffableDataSource使用区域截图,创建可以展开/收起的轮廓界面,并向你介绍如何使用复合式界面的创建列表,并打造出带有网格视图、类似UITableView...也就意味着collectionView可以做UItableView的事情了(不再需要UItableView),同样,该样式还支持左滑删除等tableview的特色属性。...WWDC20 10214 - 移植 Mac app 到 Apple Silicon 怎么说呢,apple放弃intel后,以后的设备都将用自研 Apple Silicon ARM 芯片,特别是mac端,故如何为...参考https://xiaozhuanlan.com/topic/9823657014 10.Swift 最后,事实上,这一次的WWDC介绍了大量的Swift的内容,这里没有涉猎,网上有很多相关的内容,...可以看出Swift早晚会转正,而且内容会更加完善,例如App Clip只在Swift上支持,有兴趣的同学可以看https://xiaozhuanlan.com/topic/2804537169 最后,可以参考
在swift环境下,RAC的孪生兄弟RxSwift同样提供了相同的框架使用,并且基于swift语言的优点,RxSwift甚至能够更简洁地开发业务代码。关于RxSwift的优点,大把大把的人在夸。...接下来先看一个最常用的例子,swift环境中搭建一个简单的tableView。...tableView在swift环境下的实现 遵循的tableView代理方法还是一如既往的繁多 接下来,在使用RxSwift框架下改造上面的tableView,来感受下RxSwift的强大。...tableView的各种代理方法,直接上修改后的代码 class ViewController: UIViewController { lazy var firstTableView: UITableView...= UITableView() let resuerId:String = "firstCell" let viewModel = DemoViewModel() let disposeBag
myImgView.frame = CGRectMake(200, 200, 100, 100) } 写到这里,我想有OC经验的开发者已经发现,两种语言控件的属性是一样的,只是语法有些不一样而已,多写几个就会发现Swift...都是一个套路.那好吧,简单的控件就不写了,接下来我们来写下UITableView // 5.UITableView let myTableView = UITableView...复制粘贴这两个available的方法并实现它: func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -...> Int { return 10; } func tableView(tableView: UITableView, cellForRowAtIndexPath...} 当然,别的方法也是一样,如点击单元格: func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath
而Swift除了可以面向对象编程,它还可以面向协议编程。那可不可以也用协议来解决情况呢?...嘿嘿,这个可以有,那我们接下来就来试试怎么通过协议的方式来避免上述情况,并且实现一行代码添加空白页功能 前言 如果对面向协议有疑问的同学可以看下我之前的两篇文章 iOS - Swift 面向协议编程...(一) iOS - Swift 面向协议编程(二) 之前的文章中提到了,协议除了起规范作用,还有别一个用处,就是赋予能力。...LXFEmptyDemoController: LXFEmptyDataSetable { fileprivate func initUI() { let tableView = UITableView...可以使用Cocoapods的方式来安装使用 pod 'LXFProtocolTool' 我也将 iOS - Swift 面向协议编程(二) 中提及的通过协议便捷加载xib的功能也集成了进来。
V2ex-Swift - 用Swift写的V2EX客户端。 iBBS-Swift - “新手开源一个用Swift(2.0)写的论坛客户端”。BBS 服务端。...整个App都用Swift2.0编写(除部分第三方OC代码外,比如JPush和友盟)。 高仿斗鱼电视 - 高仿斗鱼电视,点击头部滚动视图可以播放视频。...PinGo.swift - PinGo.swift:纯Swift编写的仿“随遇”App。...UmbrellaWeather.swift - UmbrellaWeather.swift使用Swift编写的一款天气应用,现已上架AppStore。...UITableView手势延迟导致子视图无法完成两次绘制 - UITableView手势延迟导致子视图无法完成两次绘制。 ========
当然,我是翻译了这篇文章,但是对Runtime的理解,还是很基础——主要是还没有太多实践,真实开发中几乎也用不到,一如文章所说:「如果可以,避免使用Objective-C的Runtime……」。...(译者:操场——playground,是Swift的一个工具,用于学习、验证Swift)。 Swift的一个核心功能就是可以和OC进行混编。这两种语言可能根本上不一样,但实际上可以很好地互补。...虽然Swift是用来取代Objective-C的,但苹果依然继续维护Ovjective-C。主要改进了:可以更好地和Swift编译,并添加了很多新特性,如nullability、generics。...比如,假设你想创建一个类似UITableView,但又有点不一样的组件,这时候你可以用Runtime看一下UITableView是如何构建的。...如果在UITableView中使用,就会看到如下结果: (lldb) po [UITableView objcruntime_getMethodNames] <__NSArrayI 0x148316000
对于这种情况,有必要研究一下 Swift 的泛型,虽然它仍然有一些问题。...另一个例子是抽象相似界面,如网格和列表使用相同的 ViewModel 。抽象必然会更复杂些,但当你的应用程序的增长或者随着时间的变化,你的收益也会越来越多。...) -> Int { return 1 } override func tableView(tableView: UITableView, numberOfRowsInSection...第二部分 UIViews 和 子单元为每个情况,对每一个数据集进行定制化。因此,我们通常的测试可以覆盖大多数的接口,增加安全性的实现。...备注:因为某些原因,在某些情况下,Swift 将不会接受一个泛型类型作为一个 init 方法的协议参数。目前仍在调查究竟是 Swift 的 bug 还是故意限制。
前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 闭包 代理 通知 构造函数 懒加载...Swift 中的闭包有很多优化的地方: 1 根据上下文推断参数和返回值的类型 2 从单行表达式闭包中隐式返回 可以省略return 3 可以使用简化的参数如 $0 $1 意为从0或者1开始 4 提供了尾随闭包的语法...view.backgroundColor = UIColor.redColor() return view }() //MARK: -TableView懒加载 lazy var zyTableView: UITableView...= { let tempTableView = UITableView (frame: self.view.bounds, style: UITableViewStyle.plain)
如想获得更好的阅读效果可以访问我的博客 www.fatbobman.com[1] 我的博客也是用Publish创建的。 Publish[2]是一款专门为Swift开发者打造的静态网站生成器。...它使用Swift构建整个网站,并支持主题、插件和其他大量的定制选项。作为Swift开发者,通过Publish创建站点的开发过程和体验同开发其他程序很类似。...作为内容集,其范围包括文本(如标题和描述)、所属标签(tag)、转换后HTML代码、音频、视频等各种元数据。元数据需要在Markdonw文章的头部注明。...比如说,你可以用Step来完成某些具有副作用的操作;用Plugin来完成类如Modifier(markdown的定制化解析)注入的工作。 对于自定义代码,从功能角度讲,两者都能实现对方的工作。...Publish适合什么人 Publish同当前主流的静态网站生成器相比还略有不足,如社区活跃度较低、开发时间较短、Swift语言用户量较小等。
免费App排行榜前100大多数都没有使用Swift(至少6个使用ASDK)。出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本的实例项目。...构建并运行以查看包含 UITableView 动物列表的应用程序。...ASTableNode 不会暴露所有UITableView的的属性,所以你必须通过 tableNode 底层的 UITableView 实例去设置 UITableView 的特殊属性。...事实上,虽然他们定义了一些完全相同的方法,如 -tableNode:numberOfRowsInSection:,但两组协议也不完全相同,因为 ASTableNode 行为和UITableView还以所有不同的...利用好已有的组件,如:ASNetworkImageNode 和 ASTextNode,通常来说你将会获得极大的便利。 注意: 有件不明显的事,这些 Ranges 不是堆栈的。
fuelsTabelView.separatorColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"line2.png"]]; 2.2.9 跟随滚动的头部视图... 即把headerView放在整个TableView的头部视图中 _headerView = [[HJMainPageHeaderView alloc] initWithPersonalDataModel...forCellReuseIdentifier: kHJPostInfoCellIdentifier]; self.postTableView.tableHeaderView = _headerView; 2.2.10 不跟随滚动的头部视图... 即把headerView放在某个Section的头部视图中。 ...因此如非必要,可以将tablecell及其子视图的opaque属性设为YES(默认值)。
为了实现相应的功能,仿照支付宝的银行卡卡包开发出相应的页面,页面长这个样子: 二:说明目录 创建钱包视图容器WalletView 初始化WalletView并加载钱包头部视图walletHeader 在钱包视图中重新加载卡片视图...初始化WalletView并加载钱包头部视图walletHeader 在需要加载钱包的地方初始化WalletView,并自定义头部视图walletHeader和卡片视图,Demo 中以ViewController...在钱包视图中实现添加卡片方法 在展示页面中我们可以看到,在页面的左上角有一个添加按钮,这个按钮的UI布局在头部视图中实现,具体的功能是,添加一个卡片,具体的实现方法如下: open func insert...// 设置列表 @objc var cardTableView: UITableView!...导入项目使用介绍 最后介绍一下该如何在项目中导入该功能,下载Demo,将Demo中的FBYBankCard.framework文件和ColoredCardView.swift文件导入项目中,在需要加载的页面中直接引用即可
else { page = 3; } 条件表达式如果很长,则需要将他们提取出来赋给一个BOOL值 let nameContainsSwift = sessionName.hasPrefix("Swift...&& isCurrentYear if (isSwiftSession) { // Do something } 不推荐这样写: if ( sessionName.hasPrefix("Swift...break; } 3.函数 - (void)loadData { //code } 注意:方法参数对齐 //一行可以显示不进行换行 - (void)loadDataInTable:(UITableView...*)tableView params:(NSDictionary *)params { //code } //多行冒号对齐 - (void)loadDataInTable:(UITableView...pragma mark - 自定义 //是否匠币 @property (nonatomic, assign) BOOL gjr_isCoinPay; @end 2.示例注释 如对外api提供调用接口,如比较复杂
} } extension ViewController: UITableViewDelegate { // Section头部 func tableView(_ tableView:...{ return 80.0 } // Section头部高 func tableView(_ tableView: UITableView, heightForHeaderInSection...适用于基本不需要动态修改、布局固定的页面,如个人中心、设置等。 微信“发现”界面案例。...// 头部大小 let headerSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension...: .estimated(44)) // 头部 let header = NSCollectionLayoutBoundarySupplementaryItem(layoutSize: headerSize
Generalizing Swift code @张嘉夫:判断某一块代码是否需要重构往往是件很棘手的事。虽然采用可复用的函数或类型可以大大减少代码冗余,但过于抽象的代码会导致难以阅读和维护。...UI 层自己绘制,样式跟系统有脱离,在系统控件设计发生改变的时候,还得依赖社区升级相关组件(国内大部分应用界面的控件都是定制化的,即使原生开发也会面临这样的问题,不过 Flutter 会暴露的更加明显)...的文件,然后在源文件 ["m", "swift", "xib", "storyboard"...] 中字符串匹配,无匹配则是无用的资源文件。...代码 DiffableDataSources @享耳先森:Apple 在 WWDC 2019 新增了 UITableView/UICollectionViewDiffableDataSource,不过新...M80TableViewComponent @anotheren:来自网易的 UITableView 的组件化解决方案, 不用再和 IndexPath 及数组越界打交道 权责分离,和冗长的 UITableView
领取专属 10元无门槛券
手把手带您无忧上云