出现这种现象只需要把 heightforfoot改为0.01 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 30; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 0.01; } 最终效果…
概述 UITableView是iOS开发中使用频率最高的UI控件,在前面的文章中对于UITableView的具体用法有详细的描述,今天主要看一些UITableView开发中的常见一些坑,这些坑或许不深,但是如果开发中注意不到的话往往比较浪费时间. 神奇的section header 事情的起因是一个网友说要实现一个类似下图界面,但是不管是设置sectionHeaderHeight还是代理方法中实现func tableView(_ tableView: UITableView, heightFor…
在IOS开发中,UItableView 的使用真的是最常见最普通的了,现在在自学swift 今天也是这用Swift 写了写 UItableview的使用,还有一些经常出错的地方.下面我先把整个控制器的代理列出来,大家可以顺便看看 swift 是怎样遵守协议的. import UIKit // 遵守两个协议 class HomeViewController: UIViewController ,UITableViewDelegate,UITableViewDataSource { override…
在设置 UITableView 的 style 为 .grouped 类型的时候,发现第一个 cell 的顶部存在大段的间距,而改为 .plain 类型则没有这个间距,效果如下: 设置了 contentInset 和 heightForHeader 为 0.01 都无效,最后发现是 tableView.tableFooterView = UIView() 的书写位置有问题,只要调整代码的顺序就可以了,如下: 调整后再看效果就正常了: 对应代理中 heightForHeader 和 heightF…
1.TableView头视图不随视图移动,头视图出现错位 错误原因:tableView的 UITableViewStyle 没有明确的声明 解决方法:在tableView声明的时候明确为 UITableViewStyleGrouped 2.分组表视图顶部空白高度调整 实现方式: 方式一(推荐使用): Swift: func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { {…
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableView : UIScrollView <NSCoding> @available(iOS 2.0, *) public class UITableView : UIScrollView, NSCoding 1.tableView 的创建 Objective-C 遵守 UITableViewDelegate, UITableViewDataSource 协议 数据源 初始化 // 声明数据源,必须…
Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s…
// // ViewController2.swift // swift_helloword // // Created by Charlie on 15/7/13. // Copyright (c) 2015年 Json. All rights reserved. // import Foundation import UIKit class RootViewController: UIViewController,UITableViewDataSource,UITableViewDelega…
别人一看到我的 Swift 代码,立刻就会问我为什么如此频繁的使用 extension.这是前几天在我写的另一篇文章中收到的评论: 我大量使用 extension 的主要目的是为了提高代码可读性.以下是我喜欢使用 extension 的场景,尽管 extension 并非是为这些场景设计的. 私有的辅助函数 在 Objective-C 中,我们有 .h 文件和 .m 文件.同时管理这两个文件(以及在工程中有双倍的文件)是一件很麻烦的事情,好在我们只要快速浏览 .h 文件就可以知道这个类对外暴露的…
BUG : 自定义的Xib View, 设置为tableview分区头的时候  tableview 如果是plain 模式, 设置 sectionHeader,  sectionHeader会成为悬浮窗, 不跟随cell 一起滑动, 并且 高度会出现问题 let headerV = JYSetPersonalSexView.loadFromNib() headerV.delegate = self headerV.configData(str:shopModelAndPersonalModel.…
var data: [[String]]! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let tableView = UITableView(frame: self.view.bounds, style: .Plain) tableView.dataSource = self tableView…
Swift_TableView(delegate,dataSource,prefetchDataSource 详解) GitHub import UIKit let identifier = "cellIdentifier" class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITableViewDataSourcePrefetching { lazy var tabl…
之前没有用到过这块,但是今天看到,就试了试,但是发现,网上的有的方法不能多个cell同时展开,只能一个一个的展开. 我就尝试用用数组记录展开的标记的方法,功能实现了, 直接上代码: // // ViewController.m // 折叠tableview-Test // // Created by abc on 16/7/26. // Copyright © 2016年 LiuWenqiang. All rights reserved. // #import "ViewController.h…
废话不多说了,直接贴我今天写的代码吧:如果新手有什么不懂的,可以发我邮箱. // //  singleInfo.swift            个人信息 //  Housekeeper // //  Created by 卢洋 on 15/10/27. //  Copyright © 2015年 奈文摩尔. All rights reserved. // import Foundation import UIKit class singleInfo:UIViewController,UITab…
最近项目中有类似QQ好友列表功能,整理了一下,话不多说,直接上代码 import UIKit class QQFriend: NSObject { var name: String? var intro: String? init(dic: NSDictionary) { super.init() self.setValuesForKeys(dic as! [String : AnyObject]) } } import UIKit class QQFriendGroup: NSObject {…
效果 列文章目录 因为目录比较多,每次更新这里比较麻烦,所以推荐点击到主页,然后查看iOS Swift云音乐专栏. 目简介 这是一个使用Swift(还有OC版本)语言,从0开发一个iOS平台,接近企业级的项目(我的云音乐),包含了基础内容,高级内容,项目封装,项目重构等知识:主要是使用系统功能,流行的第三方框架,第三方服务,完成接近企业级商业级项目. 目功能点 隐私协议对话框 启动界面和动态处理权限 引导界面和广告 轮播图和侧滑菜单 首页复杂列表和列表排序 音乐播放和音乐列表管理 全局音乐控制条…
1.cell的view和contentView的区别 1.1 addSubView UITableViewCell实例上添加子视图,有两种方式:[cell addSubview:view]或[cell.contentView addSubview:view],一般情况下,两种方式没有区别.但是在多选编辑状态,直接添加到cell上的子视图将不会移动,而添加在contentView上的子视图会随着整体右移.所以,推荐使用[cell.contentView addSubview:view]方式添加子视…
前阵子项目开发忙成狗,就一直没做iOS11的适配,直到XcodeGM版发布后,我胸有成竹的在iPhoneX上跑起项目,整个人都凉透了...下面总结一下我遇到的坑,不是很全面,日后补充. 导航栏 导航栏高度的变化 iOS11之前导航栏默认高度为64pt(这里高度指statusBar + NavigationBar),iOS11之后如果设置了prefersLargeTitles = YES则为96pt,默认情况下还是64pt,但在iPhoneX上由于刘海的出现statusBar由以前的20pt变成了…
写这篇BLOG前,有些话不得不提一下,就仅当发发恼骚吧... 今天下午为了一个Alamofire取得数据而更新TableView的问题,查了一下午的百度(360也是见鬼的一样),竟然没有一个简单明了的回答, 而唯一几个比较接近答案的,说要 self.tableView.reloadData(),也没有贴上代码,说要放在哪个函数内, 都犹抱琵琶半遮面,让初学者自己采坑,于是郁闷了一下午,刚刚回到家,试想想,要不试试英文网,毕竟Swift就是人家老外的, 说不定老外会告诉你,怎么取得数据并绑定Tab…
分组样式顾名思义是对TableView中的数据行进行分组处理,每个分组都有一个header和footer. TableView中header的英文文本是大写的,footer的英文文本是小写的.如下图浅灰色区域就是header和footer. header的作用更像是标题,而footer则是详细描述信息 在之前的文章中我们创建的TableView样式是UITableViewStylePlain,分组样式可以使用UITableViewStyleGrouped创建: 设置UITableView的hea…
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,基本大部分应用都有UITableView.当然它的广泛使用自然离不开它强大的功能,今天就针对UITableView重点展开讨论. 1.UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped. 一.如何选择grouped Or Plain 1.grouped的sectionHeader,sectionFooter的背景色默认…
--UIKit之UITableView 概述 在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论.今天的主要内容包括: 基本介绍 数据源 代理 性能优化 UITableViewCell 常用操作 UITableViewController MVC模式 基本介绍 UITableVie…
转自:http://blog.sina.com.cn/s/blog_7e3132ca0100wyls.html 在XCode对应头文件中修改该类所继承的父类: 在对应的.m文件中添加如下代码: 这样就在view上添加了一个tableView,但其样式是默认的,其中的内容也是空白的,而且此时是无法运行的,因为在头文件中添加了UITableViewDataSource和UITableViewDelegate两个类,所以必须设置一些自定义tableView样式的方法,下面列举了一些相关的方法: 设置C…
UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScrollView上的UIButton点击的时候没有高亮状态,但是确实触发了点击事件,不过这样会造成一个假象,给用户看来UIButton没有被点击的感觉. 但是要是长时间点击的话,则会高亮.于是我发现,导致这种现象应该就是时间长短的问题.顺着这个问题想下去,就追寻到UIScrollView的touch原理…
参考:IOS7.0 programming cookbook. http://www.cnblogs.com/kenshincui/p/3931948.html http://blog.csdn.net/duxinfeng2010/article/details/7725897     说明:TableView在sb里面绑定.cell的定义在xib里面.实现了Cell高度自适应.可删除.含有UIRefreshControl控件.长按.drag到最top or bottom.     MYTabl…
tableview的datasource代理 @required的两个数据源方法 1.返回每个 session 中 cell 的个数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 2.创建tableviewCell(注意复用) - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtI…
Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px Times; min-height: 14.0px } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px "Songti SC" } p.p3 { margin: 0.0px 0.…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 自定义UITableViewcell的方法 1.创建cell时,不从重用池找,进来就创建 NSString *identifier = [NSString stringWithFormat:@"cell"]; // 设置cell 标识  UITabl…
以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表.xcode将编译这些头到文件,这将减少你在选择Build 或Build and Go时编译项目的时间.通常用到的头文件已经自动包含了pch,系统编译每个.m文件前,都会先imort这个文件…
我最近工作中的一个iOS App中经常有在不同的场合,隐现菜单列表里某一项的需求.如果初始化的时候就去掉某一项的话,有可能让序号变化, 处理上会比较麻烦容易出错.我采用了初始化列表相同但是隐藏section的方式,保持序号不变,方便处理.那么如何隐藏一个section呢?其实很简单,就是将section的高度设置为0重载 heightForRowAtIndexPath方法, 假设要隐藏section 1的话,- (CGFloat)tableView:(UITableView *)tableVie…