UITableViewCell

iOS 8 UITableView分隔符插入0不起作用

可紊 提交于 2020-05-05 09:43:46
问题: I have an app where the UITableView 's separator inset is set to custom values - Right 0 , Left 0 . 我有一个应用程序,其中 UITableView 的分隔符插入设置为自定义值 - 右 0 ,左 0 。 This works perfectly in iOS 7.x , however in iOS 8.0 I see that the separator inset is set to the default of 15 on the right. 这在 iOS 7.x 完美运行,但在 iOS 8.0 我看到分隔符插入在右侧设置为默认值 15 。 Even though in the xib files it set to 0 , it still shows up incorrectly. 即使在xib文件中它设置为 0 ,它仍然显示不正确。 How do I remove the UITableViewCell separator margins? 如何删除 UITableViewCell 分隔符边距? 解决方案: 参考一: https://stackoom.com/question/1k7z5/iOS-UITableView分隔符插入-不起作用 参考二: https:/

IOS学习之UITableView滚动到指定位置

僤鯓⒐⒋嵵緔 提交于 2020-04-30 19:37:51
通过下面tableview的代理实现 - ( void ) scrollToRowAtIndexPath : ( NSIndexPath * ) indexPath atScrollPosition : ( UITableViewScrollPosition ) scrollPosition animated : ( BOOL ) animated UITableViewScrollPosition 相关枚举类型 typedef NS_ENUM(NSInteger, UITableViewScrollPosition) { UITableViewScrollPositionNone, UITableViewScrollPositionTop, UITableViewScrollPositionMiddle, UITableViewScrollPositionBottom }; // scroll so row of interest is completely visible at top/center/bottom of view 枚举中有上中下,根据需求选取,下面是我在使用时遇到的问题在iOS11中我选取的枚举是UITableViewScrollPositionMiddle,tableview会出现跳动的现象,最后加了下面三个方法 self .

报错:/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.29.5/UITableView.m:7943解决方法

。_饼干妹妹 提交于 2020-04-21 03:23:45
报错:/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.29.5/UITableView.m:7943解决方法 参考文章: (1)报错:/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.29.5/UITableView.m:7943解决方法 (2)https://www.cnblogs.com/jmailbox/p/5000611.html 备忘一下。 点赞 收藏 分享 文章举报 wangchaoqi1985 发布了1 篇原创文章 · 获赞 187 · 访问量 173万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4364022/blog/3283198

UITableView 保存选中状态的方式

三世轮回 提交于 2019-12-05 12:55:23
昨天看到UITableView中的属性 @property(nonatomic) BOOL allowsSelection;//是否允许选中cell,默认为YES @property(nonatomic) BOOL allowsMultipleSelection;//是否允许多个选中cell @property(nonatomic) BOOL allowsSelectionDuringEditing;//编辑状态下,是否允许选中cell @property(nonatomic) BOOL allowsMultipleSelectionDuringEditing;//编辑状态下,是否能多选cell 这是两组属性 第一组表示普通状态在,是否允许选中cell,是否允许多个选中cell 第二组表示在编辑状态下, 是否允许选中cell,是否允许多个选中cell - (NSIndexPath *)indexPathForSelectedRow;//返回选中的path,如果是多选,则返回第一个 - (NSArray *)indexPathsForSelectedRows;//返回选择的path,多个 调用上述方法, UITableView将返回选中的cell的path,或者path的数组 但是此时只能获得一个完全没有选中状态的 UITableView 如果我们进入到一个 UITableView

iOS开发14:UITableView与UITableViewCell

可紊 提交于 2019-12-04 15:53:44
UITableView用来以表格的形式显示数据。关于UITableView,我们应该注意: (1)UITableView用来显示表格的可见部分,UITableViewCell用来显示表格的一行。 (2)UITableView并不负责存储表格中的数据,而是仅仅存储足够的数据使得可以画出当前可见部分。 (3)UITableView从UITableViewDelegate协议获取配置信息,从UITableViewDataSource协议获得数据信息。 (4)所有的UITableView实现时实际上只有一列,但是我们可以通过向UITableViewCell中添加子视图,使得它看起来有好几列。 (5)UITableView有两种风格: ① Grouped:每一组看起来像是圆矩形; ② Plain:这是默认风格,可以修改成Indexed风格。 在下边的小例子中,我们将先实现显示一列数据,然后在每行添加图像,之后再看看UITableViewCell的四种分别是什么样的。最后再进行其他操作,比如设置缩进、修改字体大小和行高等。 1、运行Xcode 4.2,新建一个Single View Application,名称为Table Sample: 2、单击ViewController.xib,使用Interface Builder给视图添加一个UITableView控件,并使其覆盖整个视图: 3

iOS UItableviewCell实现可变高度的UITextView,动态刷新高度

自闭症网瘾萝莉.ら 提交于 2019-12-03 11:59:09
下午,一个朋友问了一个问题,关于UITableView的,大概意思就是,他想在UITableView的Cell中实现UITextView在用户的输入过程中的高度动态更新。 关于高度自增长UITextView这个实现很简单,网上也有很多小例子,问题是,每次UITextView换行的时候,cell的高度也需要动态变化,这时候,代码直接修改了Model 的高度,但是:问题来了,修改了Model的高度之后,怎么搞定UITableViewCell的刷新,你要是说,简单啊,直接调用TableView的reload方法,恭喜你!中奖了,确实是刷新了Cell的高度,问题是,因为键盘被resign,所以,键盘被收下去了,用户输入过程换行导致了键盘被收起来,想继续编辑还得点一下UITextView重新调出键盘,这不是被产品狗叼到死的节奏吗! 那么解决方法是什么呢?很简单,你在UITextView的换行Block代码中加入一句,reload你在编辑的那个Cell的row行数的row+1特定的那一行,而不是整个UItableView都reload就行了,这样即刷新了cell的高度,也不会导致键盘被收下去,恩恩,完美解决! 来源: oschina 链接: https://my.oschina.net/u/2430867/blog/491371

变高UITableViewCell

家住魔仙堡 提交于 2019-12-03 11:58:56
在iOS上开发了一个有列表的应用,列表中的每一项都是有很多控件组成的,每一项的内容大概一样,自己定制了一下Cell,基本上满足要求了。后来Cell中的UILabel中的内容过长,需要自定义高度,看了一下SDK的文档,可以通过实现下面的方法来解决这个问题。 - ( CGFloat )tableView:( UITableView *)tableView heightForRowAtIndexPath:( NSIndexPath *)indexPath 返回相应的行的高度,这个函数可以解决问题,每行的高度却是调整了,但是当调整内部的UILabel的高度时出现了问题。调整一个Cell的内容,多个Cell的内容都发生了变化。后来想尽各种办法,不能解决。后来仔细看啦一下SDK的说明,在 - ( UITableViewCell *)tableView:( UITableView *)tableView cellForRowAtIndexPath:( NSIndexPath *)indexPath 函数中调用的 dequeueReusableCellWithIdentifier函数有一个重用机制,根据 reuseIdentifier 来进行重用,所以导致一个修改,其他的有可能受到影响,为了修改这种默认行为,重载了UITableViewCell的 reuseIdentifier 函数

iOS开发技巧(系列十:UITableView及其Cell的一些细节)

我的未来我决定 提交于 2019-12-02 05:20:44
今天看开源代码,有些UITableView方面细节的东西,整理了与大家共享, 1、设置UITableViewCell的accessoryView 有时候我们需要设置cell的一些样式,比如下图, 这个就是设置了cell的accessory属性的内容,如果我们想在 上面显示Switch ,则可以通过下面的代码, cell. accessoryView = _modelSwitch ; 这样就是用一个UISwitch对象_modelSwitch赋值给cell.accessoryView,当然你可以用任何UIView子类控件例如UILabel、UIButton。。。对象来给cell.accessoryView赋值,这样界面上面就会显示你想要的效果了。 2、设置UITableViewCell的accessoryType 如果希望cell上面显示一个浅灰色的箭头,可以通过accessoryType来达到目的,代码如下, cell. accessoryType = UITableViewCellAccessoryDisclosureIndicator; 这样就设置了箭头装的type,我们可以设置多种类型,苹果定义的枚举类型如下, typedef NS_ENUM (NSInteger, UITableViewCellAccessoryType) {

UITableView的优化原理

橙三吉。 提交于 2019-11-28 23:35:09
当我们下啦一个 UITableView时,如果没有做优化,只是简单的实现功能代码如下,这样当我们有上百条tableviewcell的时候,我们滑动的非常快时会非常费内存,当然苹果公司不会让我们这样干,苹果公司会在程序启动加载页面的时候,只开辟出现在页面上的tableviewcell,剩下的就需要你滑动到该条才加载到内存中,已经划出的uitableviewcell则放到tableview内存池中,当下面需要这个类型的tableviewcell时就加载进去, UITableViewCell对象的重用原理 iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存。要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用。当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象池,如果池中有未使用的UITableViewCell,dataSource会用新的数据配置这个UITableViewCell,然后返回给UITableView,重新显示到窗口中,从而避免创建新对象

UI_09 UITableView(表视图)

烈酒焚心 提交于 2019-11-28 23:34:51
⼀、表视图 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView。UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 1、表示图的样式 UITableViewStylePlain UITableViewStyleGrouped 2、表示图创建 步骤: 创建 UITableView *tableView= [[ UITableView alloc ] initWithFrame : self . view . frame style : UITableViewStylePlain ]; self . tableView = tableView; 设置代理 tableView. dataSource = self ; tableView. delegate = self ; 添加视图 [ self . view addSubview :tableView]; 属性 seperatedStyle 分割线样式 seperatedColor 分割线颜色 rowHeight 行高 sectionHeaderHeight sectionFooterHeight estimatedRowHeight estimatedSectionHeaderHeight estimatedSectionFooterHeight separatorInset