知识点:

1、在应用开发中,tableView中自带的分割线满足不了开发需求;

2、一些子空间中添加一些类似于分割线一样的东西等······

补充知识点:导航条左侧或右侧的控件尽量靠近屏幕边缘设置

需求:

1、cell与cell之间需要一种白色的分割线;

2、cell的左侧能有视图标记此cell是被选中的,如下图所示:

实现方法:

1、左侧的红色选中标记:

(1)左侧添加一个红色背景色的view,并设置其尺寸位置约束如下图:

(2)通过代码设置其显示或隐藏的状态:

 // 红色标记属性
@property (weak, nonatomic) IBOutlet UIView *selectedIndicator; - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:YES]; // 设置其隐藏属性的值与选中状态相反
self.selectedIndicator.hidden = !selected;
}

2、底部的分割线:

方法1:在cell底部添加一个指定颜色(分割线的颜色)的view,如下图:

尺寸及位置的约束见图;

注意:此处标记红色,是为了方便大家能够看见;

方法2:修改cell内contenView的尺寸,让其下部留出一条线的位置;

方法3:重写cell的  "- (void)setFrame:(CGRect)frame"方法,让其cell的高度减1(具体见下面实例)。

重写cell的  "- (void)setFrame:(CGRect)frame"方法距离拓展:

需求:如下图

实现:

/**
* 重写setframe方法,修改cell的尺寸和位置:分割线、距离左、右边一些距离
*/
- (void)setFrame:(CGRect)frame
{
frame.origin.x = ; // 左右侧间距都为5
frame.size.height -= ; // 高度减1
frame.size.width -= *frame.origin.x; // 宽度减去两边的间距
[super setFrame:frame];
}

补充知识点:导航条左侧或右侧的控件尽量靠近屏幕边缘设置

1、自定义左右侧的子空间;

2、设置子控件的内边距(contentEdgeInsets):如向左移动30

btn.contentEdgeInsets = UIEdgeInsetsMake(, -, , );

TableView 中cell间的分割线(及其他控件间(内)的分割线)设置的更多相关文章

  1. 解决tableView中cell动态加载控件的重用问题

    解决tableView中cell动态加载控件的重用问题 tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问 ...

  2. IOS 关于tableview中cell的长按手势

    说明:虽然是tableview中cell的长按手势  但是手势是添加在tableview上的 UILongPressGestureRecognizer *longpress = [[UILongPre ...

  3. Android各组件/控件间通信利器之EventBus

    实际项目开发过程中,经常遇到如下场景:不同的应用程序组件的控件间具有一定的相互关联性,其中用户对后者进行的某种操作会引起前者的相应改变.举一个具体的场景:以糗事百科为例,在糗事列表页和详情页页,对于每 ...

  4. [WPF]获取控件间的相对位置

    原文:[WPF]获取控件间的相对位置 [WPF]获取控件间的相对位置                             周银辉 我们知道WPF有着比较灵活的布局方式,关于某个控件的坐标,Canv ...

  5. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法

    winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...

  6. MVC中使用HTML Helper类扩展HTML控件

    文章摘自:http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/1415005.html MVC在view页面,经常需要用到很多封装好的HTML控件 ...

  7. 在ASP.NET中动态加载内容(用户控件和模板)

    在ASP.NET中动态加载内容(用户控件和模板) 要点: 1. 使用Page.ParseControl 2. 使用base.LoadControl 第一部分:加载模板 下 面是一个模板“<tab ...

  8. c#中如何跨线程调用windows窗体控件

    c#中如何跨线程调用windows窗体控件?   我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首 ...

  9. 安卓中的事件分发机制之View控件

    前言:Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent e ...

随机推荐

  1. Java IO之File

    FILE类是用来实现获取文件.文件夹的类库工具,File并不是像类名所表示的那样仅仅是用来表示文件.它还能够用来表示文件夹. 所以能够用File来获取一个文件夹下的全部文件,甚至是文件夹中的文件. 一 ...

  2. MySQL错误:Can't connect to MySQL server (10060)

    转自:http://database.51cto.com/art/201107/274565.htm 当远程连接MySQL数据库的时候显示Can't connect to MySQL server ( ...

  3. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换

    一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...

  4. PHP函数spl_autoload_register()用法和__autoload()介绍(转)

    详细出处参考:http://www.jb51.net/article/29624.htm 又是框架冲突导致__autoload()失效,用spl_autoload_register()重构一下,问题解 ...

  5. [CodeEdit--Sublime]一些好用的Plugins

    Sublime Text 3 Plugins (**)packet control:plugin包管理器 (**)netuts-fetch: (**)markdown editing:Markdown ...

  6. boost.asio源码剖析

    一. 前 言二. 架构浅析三. 流程分析     * 常见流程分析之一(Tcp异步连接)      * 常见流程分析之二(Tcp异步接受连接)      * 常见流程分析之三(Tcp异步读写数据)   ...

  7. 剑指 offer set 6 打印从 1 到 N 的所有数

    总结 1. 求全排列的变形题, 有些隐晦, 没看出来

  8. The Kernel Newbie Corner: Kernel Debugging with proc "Sequence" Files--Part 3

    转载:https://www.linux.com/learn/linux-career-center/44184-the-kernel-newbie-corner-kernel-debugging-w ...

  9. WPF 之 鼠标双击事件

    由于WPF中没有鼠标的双击事件,因而只能通过MouseDown事件来模拟.当连续的两次MouseDown事件的时间间隔,没有超过一个设定的时间阈值时,就计算为一个双击事件,并作相应的处理. 利用WPF ...

  10. Windows 之 删除保存的共享凭据(用户名和密码)

    当我们在访问Windows共享文件夹或者NAS网络共享盘的时候,Windows会提示输入访问共享所需要的用户名和密码,如果我们勾选了“记住我的凭据”,Windows 就会将认证凭据保存到计算机中,以方 ...