有时候使用UITableView所实现的列表,会使用到section,但是又不希望它粘在最顶上而是跟随滚动而消失或者出现,下面的代码片段就是实现此功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-
(
void
)
scrollViewDidScroll
:
(
UIScrollView
*
)
scrollView
{
if
(
scrollView
==
_tableView
)
{
CGFloat
sectionHeaderHeight
=
36
;
if
(
scrollView
.
contentOffset
.
y
<=
sectionHeaderHeight
&&
scrollView
.
contentOffset
.
y
>=
0
)
{
scrollView
.
contentInset
=
UIEdgeInsetsMake
(
-
scrollView
.
contentOffset
.
y
,
0
,
0
,
0
)
;
}
else
if
(
scrollView
.
contentOffset
.
y
>=
sectionHeaderHeight
)
{
scrollView
.
contentInset
=
UIEdgeInsetsMake
(
-
sectionHeaderHeight
,
0
,
0
,
0
)
;
}
}
}
|
说明
- sectionHeaderHeight 的值要根据自己的而定
- _tableView 如果一个类里有多个表格,要明确指明要去掉哪一个表格头的粘性