首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ios常用第三方框架(二)

缺省提供的示例代码为 Objective-C。 TEAChart - xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等。...HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。...COBezierTableView - swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞。...MDIHorizontalSectionTableViewController - 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽...会自动将collection view处理完善,并将用户消息以合适美观的方式显示出来。每个iOS项目都可以自动处理。

7.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS14开发-UIView

    子 View 的顺序和子 View 返回的数组中的位置有关(storyboard 中左侧的树形结构图中的先后顺序)。...文字换行 使用 storyboard:设置Lines为 0,然后在Text中用option+回车换行。 使用代码:label.numberOfLines = 0,设置文字的时候用\n换行。...文字换行 使用 storyboard:设置 Lines Break 为Word Wrap,然后在 title 中用option+回车换行。...内容除了设置 String 类型,还可以设置 UIView 类型,且一旦设置了 UIView,设置 String 的失效。 代理方法可以设置内容的高度。...} } 静态单元格 需要使用 UITableViewController。 直接在 storyboard 中布局,不需要使用数据源方法,但如果需要使用到代理方法,仍然需要在控制器中实现相应的方法。

    11.9K10

    自学Swift之路(二)UITableView自定义和实际利用

    6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用的值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } 代码中自定义的单元格加上了一个...ImageView和一个Label,虽然数据是死的,但是在Swift中,另外一个类是可以直接访问另一个类中的变量的(如果没做任何保护的话),所以我们在配置cell的时候是可以直接赋值的,这里就不弄了,然后我们看创建表视图那一块...@available(iOS 2.0, *) internal func tableView(tableView: UITableView, numberOfRowsInSection...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版的demo在我们官网:http://www.innsmap.com

    2.4K90

    UITableView实践(一):实现原理

    一、综述 UITableView应该是iOS中最经典也是最常见的一个控件了。...我们知道在iOS上开发的视图使用UIKit,Mac OS则没有。Chameleon项目就是将UIKit的代码也可以运行在macOS上。...Cells重新布局,以及其他布局如HeadView,FootView的设置 三、Cell复用 cell在初始化的时候会绑定一个Identifier用以以后复用 - (id)initWithStyle:(...当到状态 ② 的时候,我们发现 _reusableCells 容器中,已经出现了状态 ① 中已经退出屏幕的 Cell 0。...而当我们重新将 Cell 0 滑入界面的时候,在系统 addView 渲染阶段,会直接将 _reusableCells 中的 Cell 0 立即取出进行渲染,从而代替创建新的实例再进行渲染,简化了时间与性能上的开销

    96020

    自学Swift之路(一)UI入手之基本控件

    ,两种语言控件的属性是一样的,只是语法有些不一样而已,多写几个就会发现Swift都是一个套路.那好吧,简单的控件就不写了,接下来我们来写下UITableView // 5.UITableView...: NSObjectProtocol { //必须的 @available(iOS 2.0, *) public func tableView(tableView...} 当然,别的方法也是一样,如点击单元格: func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath...) { print("点击了单元格") } 好了,这篇文章的内容就到这里了,下一篇文章将会围绕UITableView,自定义UITableViewCell来写点可视化内容较强的东西...本人也是正在学习中,文章内容如有错误,还请指正,有需要优化的地方,也请帮忙指出,帮助大家共同进步

    2.9K110

    iOS开发-搜索栏UISearchBar和UISearchController

    最近项目中用到了搜索栏,所以在网上搜了一些相关的资料学习了一下,现在记录一下,iOS中的搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS...: //设置区域-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1;} 设置区域的行数...return [self.searchList count]; }else{ return [self.dataList count]; } } 同样的返回单元格也有两种情况...,一种是初始化数据,一种是过滤之后的数据视图: -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath...,也就是UISearchController的active属性: //设置区域的行数-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection

    2.4K70

    iOS中表视图(UITableView)使用详解

    iOS中UITableView使用总结 一、初始化方法 - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style...通过这个属性,可以手动设置分割线的位置偏移,比如你向让tableView的分割线只显示右半边,可以如下设置: UITableView * tab = [[UITableView alloc]initWithFrame...中的位置信息 - (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point;   获取某个cell在tableView中的位置信息 - (NSIndexPath...)scrollPosition animated:(BOOL)animated; 这个函数与上面的非常相似,只是它是将表示图定位到选中的行。...IOS为我们提供了下面两个函数解决这个问题: 开始块标志 - (void)beginUpdates; 结束快标志 - (void)endUpdates;  我们可以将我们要做的操作全部写在这个块中,那么

    1.4K30

    简易理解设计模式之:代理模式——iOS列表视图控件设计方式

    作用:为其他对象提供一种代理以控制这个对象的访问。...iOS开发中存在大量的原生自带的视图控件,在视图控制器中使用控件并不需要复杂的生成一堆对象和设置各种属性,只需要简简单单调用几个实现方法即可。苹果iOS视图控件的设计中可以说将这个模式提现得淋漓尽致。...下面我用Java的方法模拟一下: 抽象主题类:接口方法(视图只用这些方法就够了) 真实主题类:视图控制器(具体实现的方法,比如设置各种视图需要的参数等,设置完扔给代理类处理) 代理类:视图控件...简单介绍一个UITableView是一个表视图控件,设置组数和行数,在iOS中比较常用。...行】 【第0组】【第1行】 【第1组】【第0行】 【第2组】【第0行】 【第2组】【第1行】 【第2组】【第2行】 2.2.2、iOS中的源码 下面从iOS的源码中找出与上述例子相似的方法出来,有兴趣的同学可以自行研究更多

    79020

    iOS 9 Storyboard 教程(二下)

    选择这个新的segue然后在Attributes Inspector设置它的标识符为PickGame....设置单元格的样式为Basic,然后设置它的重用标识符为GameCell.你需要为这个控制器所做的就是这些. ?...现在让我们给这个新的控制器一些数据来显示吧.在GamePickerViewController.swift中,把一个具有硬编码值的games字符串数组添加到顶部: var games:[String]...这个方法在点击之后就会取消选中.那使得它从灰色高亮褪色为正常的白色.然后它就会从先前选中的单元格移除对号标记,然后把对号放到刚刚点击的那一行上....segue的对象,在这种情况下就是被选中的游戏单元格.所以在games里,你可以使用单元格的indexPath来定位选中的游戏,然后设置selectedGame,这样的话,它在unwind segue就是可行的了

    2.2K10

    简易理解设计模式之:适配器模式——Android列表视图控件设计方式

    Target(目标角色):所期待得到的接口,即目标接口。 Adaptee(被适配角色):即源接口,一般是已存在的类,现在需要适配新的接口。...,而输入端的类型不可预知 个人理解: 这个模式主要还是用于将两个不兼容的类融合在一起,通过一种转换使得他们能够协作起来。...Android设计成这样的原因是:每个子View的布局可以千变万化,需求动态去获取。通过适配器模式,将千变万化的东西转化成同样的接口,方便处理。...看过那篇文章的朋友可以发现,同样是做一个列表视图,iOS用的是代理模式而Android的设计用的是适配器模式。两者都作为结构型的设计模式,真的有异曲同工之妙。...简易理解设计模式之:代理模式——iOS视图控件设计方式 行为型模式: 简易理解设计模式之:策略模式——优化一下支付功能 简易理解设计模式之:模板方法模式——Android中的BaseActivity

    71210

    RxSwift 与 BLE 实战——VisualBlue

    做过蓝牙相关开发的 iOS 同学们肯定都用过 CoreBluetooth 这个系统框架,使用它的话,几乎所有操作都是通过 delegate 完成的。...公司的项目正从 OC 向 Swift 迁移,之前蓝牙部分还全是用 OC 写的,各种 delegate 和 notification 满天飞,看着都头疼。...扫描设备的整个流程大致是这样的: 筛选蓝牙状态,将除.PoweredOn之外的状态过滤掉 扫描设备 筛选设备,将已出现过的设备过滤掉 将扫描到的新设备添加到设备列表中 用设备列表构建一个dataSource...,并与tableView绑定 将资源添加到disposeBag中,以待统一回收处理 这个过程用 Rx 的风格来写大概是这样的: func bindDataSource() { manager.rx_state...流程: 发现服务 发现特征(对应了硬件那边所谓的通道……) 构建dataSource,并与tableView绑定 核心代码: func bindDataSource() { guard let

    1.1K20

    iOS 9 Storyboard 教程(二上)介绍Segue静态单元格(static cell)

    Item.在Attributes inspector,设置左侧按钮的System Item属性为Cancel,右侧按钮为Done....设置为2. ---- Note: 当你改变了Sections属性的值以后,编辑器将会复制现有的section....选择textField然后按住ctrl,并用鼠标拖拽到.swift文件的顶部,类定义的底部.当弹框出现的时候,命名这个新的连接为nameTextField,然后点击Connect.在你点击Connect...之后,Xcode将添加这个属性到PlayersDetailViewController类里而且会和storyboard相连: 在表的单元格里创建视图的连线正是我所说的你不应尝试用原型单元格,而用静态单元格是可以的...设置第二组静态单元格的Style为Right Detail.这样就会为你显示一个标准的单元格样式.双击把左侧的label名字改为Game,然后给这个单元格一个名为Disclosure Indicator

    3.3K10

    iOS 面试策略之语言工具-Xcode使用

    iOS 开发的官方 IDE 是 Xcode,它也是 Apple 平台最主流的开发工具。...关于 t1 我们需要分析 App 的启动日志,具体方法是在 Xcode 中添加 DYLD_PRINT_STATISTICS 环境变量,并将其值设置为 1,这样就可以得到如下的启动日志: Total pre-main...所以优化的手段也有了,简单来说就是: 减少动态库数量,dylib loading time 会下降,苹果的推荐是动态库不要多于 6 个 减少 Objective-C 的类数量,例如合并或者删除,这样可以加快动态链接...,rebase/binding time 会下降 使用 initialize 方法替换 load 方法,或是尽量将 load 方法中的代码延后调用,initializer time 会下降 关于 t2,...进入页面后发现 Leak Checks 中出现内存泄漏时,我们可以将导航栏切换到 call tree 模式下,强烈建议在 Display Settings 中勾选 Separate by Thread

    1.7K20

    iOS-TableView统一数据源代理

    TableView 是 iOS 应用程序中非常通用的组件,几乎每一个界面都有一个TableView,而我们许多的代码都和TableView有关系,比如数据展示、更新TableView,一些响应选择事件等...,而这些大多都会通过其代理函数来实现,所以在VC中我们通常需要实现大量TableView的代理函数,如下面这样 func tableView(_ tableView: UITableView, heightForHeaderInSection...{ return nil } func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView...tableView的代理,这里我将dataSource和delegate统一为delegate了,并且如果有多个TableView,我们还可以创建多个代理实例与其一一对应 网络请求:这里是做网络请求地方...,并且将请求后的数据保存在代理类中 刷新视图 确定cell的类型:cell是通过它注册identifier来创建的,所以根据indexPath来返回相应的cell注册的identifier即可 头部高度

    93410

    AsyncDisplayKit 2.0 教程:入门「译」

    免费App排行榜前100大多数都没有使用Swift(至少6个使用ASDK)。出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本的实例项目。...; } 这样就替换用 self.tableNode 替换了 self.tableView,并且设置了 table 的 Frame 继续修改 -applyStyle 方法中的代码为: - (void)applyStyle...你可以选择为单元格定义最小和最大尺寸,而不是提供静态高度。这种情况下,你希望每个cell的高度至少为屏幕的 2/3。 现在不用担心太多,这个会在第二部分中介绍。...image.png 真是一个流畅的 tableView!一旦你开始做了,那就让我们做的更好吧! 无限滚动 在大多数应用中,服务器的数据点的个数往往会多于当前 tableView 中显示的单元格数量。...如果将显示和预取都设置为一个屏幕,则它们将完全相同。通常数据需要存在才能显示,所以一般预取范围应该稍大一点。那么在 node 到达该范围时,就可以开始显示。 通常,该范围的前侧大于后侧。

    2.2K20
    领券