我正在尝试像谷歌地图一样创建像funcitionlity这样的粘性标题。当我从上到下滚动tableview时。我想要被拉下来。我不想使用任何库或任何控件。 Demo Project link
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
float delta = 0.0f;
if (_tableView.contentOffset.y < 0.0f)
{
// Scroll down
delta = fabs(MIN(0.0f, _tableView.contentOffset.y));
}
[self updateFrame:delta];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
_originalCenter = self.UpperView.center;
}
-(void)updateFrame:(float)deltaY{
self.UpperView.center = CGPointMake(_originalCenter.x, _originalCenter.y+deltaY);
}
#pragma mark - tableview delegate
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 8;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = [NSString stringWithFormat:@"cellIdentifier%i",indexPath.row];
UITableViewCell * cell = [_tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
[cell.textLabel setText:[NSString stringWithFormat:@"Cell %i",indexPath.row+1]];
return cell;
}
我创建了带有故事板的tableview,并作为子视图添加到自定义UIView(UpperView)。