UITableView 默认选中一个 cell
首先定义一个变量并初始化
1
2
3
4
5
6
|
BOOL isSelectRow;
- ( void )viewDidLoad{
[ super viewDidLoad];
// Do any additional setup after loading the view.
isSelectRow = YES ;
} |
定义该变量是为了防止滚动UITableView时,重新选中为第一行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:( NSIndexPath *)indexPath{
NSString *cellIdentifier = @ "ItemCell" ;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil ) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
}
if (isSelectRow){
// 默认选中第一行
NSIndexPath *selectedIndexPath = [ NSIndexPath indexPathForRow:0 inSection:0];
[tableView selectRowAtIndexPath:selectedIndexPath animated: NO scrollPosition:UITableViewScrollPositionNone];
}
// 设置cell元素 ...
return cell;
} |
在开始滚动是,设置isSelectRow =
NO;
1
2
3
|
-( void )scrollViewWillBeginDragging:(UIScrollView *)scrollView{
isSelectRow = NO ;
} |
自定义单元格背景颜色
1
2
3
4
5
|
//自定义单元格背景颜色 - ( void )tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:( NSIndexPath *)indexPath{
// cell.backgroundColor = [UIColor blackColor]; // 设置背景颜色 cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@ "cell-bg.png" ]]; //设置选中后的背景
} |
自定义UITableView的Header的高
1
2
3
4
|
// UITableView Header的高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:( NSInteger )section{
return 45.0f;
} |
自定义UITableView的Header
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// 自定义UITableView的区段的Header -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:( NSInteger )section{
//创建一个视图(_headerView)
UIView *_headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 45)];
UIImageView *_headerImageView = [[UIImageView alloc]
initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 45)];
_headerImageView.image = [UIImage imageNamed:@ "menu-heder.png" ];
[_headerView addSubview:_headerImageView];
// 创建一个 _headerLabel 用来显示标题
UILabel *_headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 16, 100, 19)];
_headerLabel.backgroundColor = [UIColor clearColor];
_headerLabel.textColor = [UIColor whiteColor];
_headerLabel.font = [UIFont fontWithName:@ "Arial" size:18];
// 设置组的的标题
if (section == 0) {
_headerLabel.text = self .userModel.name;
}
[_headerView addSubview:_headerLabel];
// 分割线
UIImageView *_botImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 44, tableView.frame.size.width, 1)];
_botImageView.image = [UIImage imageNamed:@ "sep-bot.png" ];
[_headerView addSubview:_botImageView];
return _headerView;
} |
自定义UITableViewCell的分割线
在自定义的VCustomTableViewCell中的 drawRect方法中绘制:
1
2
3
4
5
6
7
8
9
|
-( void )drawRect:(CGRect)rect{
// cell顶部-分割线
UIImage *topImage = [UIImage imageNamed:@ "sep-top.png" ];
[topImage drawInRect:CGRectMake(0, 0, self .frame.size.width, 1)];
// cell底部-分割线
UIImage *botImage = [UIImage imageNamed:@ "sep-bot.png" ];
[botImage drawInRect:CGRectMake(0, self .frame.size.height-1, self .frame.size.width, 1)];
} |
相关推荐
在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。在某些情况下,开发者可能...总的来说,自定义UITableView的外观是iOS开发中常见的任务,掌握这部分知识对于提升用户体验和实现个性化设计至关重要。
在iOS应用开发中,UITableView是一种常用的UI组件,用于展示列表数据。它允许用户滚动查看多个行项目,并且可以根据需要进行高度自定义。本篇文章将深入探讨如何在代码中实现自定义UITableView,以及在开发过程中应...
当你使用UITableView的`reloadData`方法来刷新表格数据,并同时希望添加一个平滑的动画效果时,可能会遇到以下问题:表格的内容偏移量(content offset)突然变化,或者行的布局在动画过程中出现异常,甚至可能导致...
在iOS开发中,UITableView是一种常用的数据展示控件,它能够以列表的形式展示数据。本教程将探讨如何在UITableView中实现一个特殊效果:在两个Cell之间显示目录,并且点击某一项时,菜单会在该项下方展开,不会遮挡...
UITableView是iOS应用开发中不可或缺的一部分,特别是在Swift编程环境中。它是一种用于显示大量数据的视图控件,可以灵活地展示列表或表格形式的信息。在Swift中,UITableView的使用涉及到多个知识点,包括数据源...
总之,UITableView是iOS开发中不可或缺的一部分,通过学习和实践"**MyTableView**"示例,你应该对如何创建和管理UITableView有了基本的了解。进一步探索可以涉及到自定义单元格、异步加载数据、下拉刷新、无限滚动等...
然而,在实际应用中,我们经常会遇到一个问题:当用户在`UITableView`中的输入框(如UITextField)中输入时,弹出的键盘可能会遮挡住部分或全部表格内容,这无疑会给用户体验带来困扰。针对“`UITableView`处理键盘...
在“UITableView Demo”中,`UITableViewTest1`可能是项目的主文件或包含关键代码的部分。这个文件可能包含了设置UITableView的初始化、数据源和委托的方法。例如,我们可能会看到以下代码片段: ```swift class ...
UITableView是iOS开发中不可或缺的一部分,它是展示数据列表的首选控件。在iOS应用设计中,无论是展示联系人、邮件列表还是商品详情,UITableView都扮演着关键角色。本教程将深入探讨UITableView的简单使用,帮助...
在第一部分中,我们将着重理解UITableView的基本概念,设置数据源,创建自定义Cell以及如何进行数据绑定。 首先,UITableView是一种控件,用于展示一组行和列的数据。在iOS应用中,它经常被用来构建类似联系人列表...
在iOS开发中,UITableView是一种非常重要的视图组件,它用于展示列表数据,通常用于实现诸如联系人列表、新闻摘要等功能。本教程将详细介绍如何通过纯代码方式创建一个简单的UITableView,这对于初学者来说是一次很...
在iOS应用开发中,Swift语言为我们提供了强大的UITableView控件,用于展示列表数据。然而,当数据量较大或者频繁滚动时,如果不进行优化,可能会导致性能下降。这就是UITableView缓存的作用,它能有效提升滚动时的...
通过自定义UITableViewCell并调整相关视图的背景设置,我们可以实现一个具有透明背景的UITableView,从而在iOS应用中创造出独特的视觉体验。在开发过程中,不断试验和优化,以找到最佳的平衡点,兼顾美观与性能。
首先,UITableView由两部分组成:数据源(DataSource)和委托(Delegate)。数据源负责提供单元格的内容,而委托则处理用户与表格的交互,如点击单元格、编辑等事件。在Swift中,你需要让你的类遵循...
在iOS开发中,`UITableView` 是一个非常常用的组件,用于展示列表数据。有时,开发者可能需要将整个`UITableView`的内容截图并保存为一张长图片,例如为了分享或记录用户当前的状态。这个过程涉及到屏幕截图、滚动...
在创建UITableView时,我们需要在 storyboard 或代码中添加一个UITableView对象,并设置其约束以确保它正确填充父视图。然后,为UITableView分配一个数据源(DataSource)和委托(Delegate),这两个通常是同一个人...
UITableView由两部分组成:Cell(单元格)和DataSource(数据源)。Cell用于显示单行数据,而DataSource则负责为UITableView提供数据和配置Cell。在社区风格的UITableView中,我们可能需要定制Cell的样式,例如添加...
在Swift编程语言中,`UITableView`是iOS应用开发中不可或缺的一部分,它用于展示列表或表格数据。本示例“swift-UITableView”将深入探讨如何在Swift中自定义对象、自定义`UITableViewCell`以及如何实现一个实际的`...
UITableView是iOS开发中不可或缺的一部分,它用于展示列表数据,用户可以滚动浏览并交互。本教程将深入探讨如何在iPhone应用中使用UITableView进行排序、搜索以及通过Interface Builder进行创建。 首先,我们来了解...
UITableView是iOS开发中不可或缺的一部分,主要用于展示列表数据。在iOS应用设计中,它扮演着重要的角色,能够以清晰、高效的方式展示大量信息。本篇文章将深入探讨如何对UITableView进行基础封装,以提高代码的可...