转自:http://blog.csdn.net/smiling8866/article/details/51548234
一、遇到问题
当我利用第三方 FPPopoverController 来显示UITableView的时候,cell的分割线左边没有顶满,而右边却顶满了。这样显示很难看。我需要让其左右两边都是未顶满状态,距离是15像素。
二、解决方法
1、在UITableView的viewDidLoad方法中添加以下代码:
// code1 if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 15, 0, 15)]; } // code2 if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) { [self.tableView setLayoutMargins:UIEdgeInsetsMake(0, 15, 0, 15)]; }
2.添加UITableView的一个代理方法:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsMake(0, 15, 0, 15)]; } if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { [cell setLayoutMargins:UIEdgeInsetsMake(0, 15, 0, 15)]; } }
三、对解决方法的剖析
code1处代码:
定制cell分割线的frame
code2处代码:
-layoutMargins returns a set of insets from the edge of the view’s bounds that denote a default spacing for laying out content.
If preservesSuperviewLayoutMargins is YES, margins cascade down the view tree, adjusting for geometry offsets, so that setting the left value of layoutMargins on a superview will affect the left value of layoutMargins for subviews positioned close to the left edge of their superview’s bounds
If your view subclass uses layoutMargins in its layout or drawing, override -layoutMarginsDidChange in order to refresh your view if the margins change.
*注意:后来发现了更简单的办法,就是在storyboard那里Seperator insert可以调节
相关推荐
其实只需要如下这样子就可以实现分割线的控制。 代码如下: -(void)tableView:(UITableView )tableView willDisplayCell:(UITableViewCell )cell forRowAtIndexPath:(NSIndexPath *)indexPath { // 下面这几行...
在iOS应用开发中,我们经常会遇到需要自定义用户界面的需求,比如隐藏UITableView的分割线以及控制导航栏的显示和隐藏。这些操作可以提升应用的视觉效果,使界面更加整洁、专业。下面,我们将深入探讨如何实现这两个...
本教程将深入探讨如何在iPhone开发中实现UITableView的多行编辑控制,这对于初学者来说是一个非常实用的技能。在iOS 5.0及以上版本以及使用SDK 6.0及以上时,可以充分利用这个特性来提升用户体验。 UITableView不仅...
在Swift编程中,UITableView和UINavigationController是两个非常关键的组件,它们构成了iOS应用中的许多界面。这篇文章将深入探讨这两个组件的使用以及它们如何协同工作。 首先,UITableView是iOS开发中最常用的...
它通过自定义UITableViewCell和调整默认的分割线属性,实现了更精确的控制和美化分组TableView的间隔线效果。这个库的使用可以帮助开发者避免因为系统默认设置带来的视觉误差,确保每个分组之间的分割线清晰、连续,...
Swift开发中的UI设计是构建iOS应用的关键部分,而SplittableViewKit是一个专为处理设备旋转时UITableView布局问题的工具包。在iOS应用中,特别是涉及到iPad等多窗口设备时,用户可能希望在横屏模式下将某些内容保留...
数据源协议是UITableView的核心,负责提供数据和控制表格的结构。你需要实现这个协议中的方法,如`numberOfSections(in:)`来定义表格的段数,`tableView(_:numberOfRowsInSection:)`来指定每一段内的行数,以及`...
这个分割线是由`separatorStyle`属性控制的,你可以通过以下代码设置: ```swift tableView.separatorStyle = .singleLine // 单一细线 tableView.separatorStyle = .none // 不显示分割线 tableView....
这个压缩包文件"ios-UITableView 滚动控制,动画控制, 回到顶部.zip"主要探讨了如何实现UITableView的滚动控制、动画效果以及添加回到顶部功能。我们将详细解析这些关键知识点。 首先,滚动控制是UITableView的基础...
iOS 开发中 UITableView 的使用详解 UITableView 是 iOS 开发中最常用的控件之一,用于显示列表数据。它类似于 Android 中的 ListView,都是用于显示列表数据的控件。在 iOS 开发中,UITableView 是一个非常重要的...
同时,UITableView提供了Delegate和DataSource协议,让开发者能够控制表格的行为和内容,如加载数据、处理点击事件等。 接下来,UINavigationController是一个容器视图控制器,它管理一个堆栈式的视图控制器序列,...
2. **自定义分割线**:默认的UITableView分割线可能不符合QQ风格,可以自定义线条的颜色、宽度和位置。 3. **状态提示**:例如未读消息的红点提示,这可能需要额外的UI元素和逻辑处理。 4. **触摸反馈**:在用户...
首先,UITableView的主要组成部分包括:表头(HeaderInSection)、表尾(FooterSection)、单元格(UITableViewCell)和分隔线(Separator)。在`UITableViewDataSource`协议中,你需要实现几个关键的方法来填充数据...
10. **自定义分割线**: 可以通过设置`separatorStyle`改变分割线样式,或者完全自定义分割线视图。 综上所述,实现UITableView和UITableViewCell涉及多个步骤,从创建表格到数据源和委托方法的设置,再到自定义...
通过这种方式,你可以完全控制分割线的外观和位置,使其更符合应用的设计需求。 总之,设置UITableView的分割线主要涉及`separatorColor`和`separatorStyle`两个属性,可以根据项目需求灵活调整。同时,通过自定义...
- **分割线**:为列表项之间添加分隔线,使得视觉效果更加接近UITableView。 - **自定义布局**:为每个列表项创建自定义布局,以便实现与iOS类似的样式。 3. **实现步骤** - 创建布局文件:为每个列表项创建XML...
在iOS开发中,`UITableView` 是一个非常常用且强大的组件,用于展示列表数据。然而,在实际应用中,我们经常会遇到一个问题:当用户在`UITableView`中的输入框(如UITextField)中输入时,弹出的键盘可能会遮挡住...
### UITableView教材:构建与操作教程 #### 一、Table的整个框架搭建 ##### 1、两种样式的初始化 UITableView 提供了两种不同的样式:`UITableViewStylePlain` 和 `UITableViewStyleGrouped`。这两种样式的选择取...
在iOS开发中,UITableView是一种非常重要的视图组件,用于展示数据列表。当表格中的数据分为多个部分(sections)时,每个部分通常会有一个header视图,用来标识该部分的主题。然而,随着数据量的增大,如果对每个...