Tag: contentoffset

iOS的UIScrollView / UITableView contentOffset重置pushViewControllerAnimated时:

我有一个简单的UIViewController UITableView作为其view的subview 。 我想要隐藏我tableview的tableViewHeader的选项。 这工作正常 – 我可以调整的内容偏移与headerView的高度和它的一切好。 然而,当我转换到一个新的VC(通过推) – 在转换animation期间,tableView的contentOffset重置为{0,0} – 实质上显示了标题视图。 有没有办法保持tableView的contentOffset ,直到新的VC已经显示在屏幕上? 我注意到,如果tableView的contentSize大于超视图的边界(即有更多的单元格比框架可以显示) – 那么contentOffset不会被重置。 我有一个日志self.tableView.contentOffset.y在viewDidDisappear – 在第一个实例(当contentSize较小) – 日志打印0 ,如果不是这样的话 – 那么它打印44 (这是预期值) 。 ? 更新: 在viewWillLayoutSubviews或viewDidLayoutSubviews设置所需的contentOffset值似乎工作正常,但我不明白这样做的含义。 不幸的是,这不适用于iOS 7,预期的行为只能在iOS 8上实现。

在UITableView中垂直滚动时,contentOffset在ScrollView标题上重置

我利用这个代码来alignment一个UITableView中的truckDayScrollViews(UIScrollView的子类)的负载水平,SUDaysForTruckView只是一个自定义的UILabel -(void)scrollViewDidScroll:(UIScrollView *)scrollView { if ([scrollView isKindOfClass:[SUDaysForTruckView class]]) { CGPoint offset=CGPointMake(scrollView.contentOffset.x, 0); for (TruckViewCell *cell in self.tableView.visibleCells) { cell.truckDayScrollView.contentOffset=offset; } self.headerView.contentOffset=offset; self.scrollViewPosition=offset; } else{ NSLog(@"Table view scrolling vertically: %f,%f",self.scrollViewPosition.x,self.scrollViewPosition.y); self.headerView.contentOffset=self.scrollViewPosition; } } 这个想法是,如果滚动滚动视图的类是单元格的一部分(水平滚动),然后更新所有滚动视图,包括标题。 这很好。 虽然当tableView垂直滚动时,标题滚动视图中的内容偏移将重置为0,0。 为什么是这样,有没有办法解决这个问题。 我已经尝试过放行 self.headerView.contentOffset=self.scrollViewPosition; 在很多地方cellForRow,self.headerView的getter等等。 一切都无济于事。 第一张图片显示了水平滚动和标题如何alignment,第二张图片显示了垂直滚动的第一位发生了什么,标题立即跳出alignment。

出现键盘时,UICollectionView contentOffset会更改

我正试图在我的应用程序中实现PullDown To Searchfunction。 为了实现这个,我只是修改了一下EGOTableViewPullRefresh ,除了一个问题外,它工作的很好。 问题 当用户打开应用程序时,将出现以下屏幕。 最初UICollectionView's contentoffset应该是(0,0) 如果用户拉下集合视图,此时出现下面的屏幕, contentoffset的UICollectionView应该是(0,-60) 用户可以在上面的屏幕中input文字进行search。 当用户点击UITextFieldinputcontentoffset的文本contentoffset (0,-60)到(0,-110)和UI loosks(如下图屏幕(0,-110) ,我的问题就发生在这个屏幕上。 我不知道为什么会发生这种变化,请你指导我解决这个问题?

UICollectionView contentOffset随自定义布局而变化

我有一个UICollectionView与自定义UICollectionViewLayout(实际上,我使用这个不错的布局 )。 我在viewDidLoad中设置了contentOffset = CGPointZero 。 然而,在viewDidLoad之后,偏移量是-20,内容被按下来,如下所示: (它应该与线路齐平)。 我在界面构build器中加载集合视图布局。 看来我的问题与这个问题非常相似,但是那里的解决scheme并不适合我。 我尝试修改我的布局实现中的collectionViewContentSize ,以确保它始终大于collectionView的大小。 虽然这意味着我可以滚动我的内容(它比collectionView的高度短)并隐藏额外的空间,我也可以向上滚动查看它。 没有什么似乎工作!

animationUICollectionView contentOffset不显示不可见的单元格

我正在做一些类似于ticker的function,并使用UICollectionView 。 它最初是一个scrollView,但我们认为一个collectionView会使添加/删除单元格更容易。 我用下面的animationcollectionView: – (void)beginAnimation { [UIView animateWithDuration:((self.collectionView.collectionViewLayout.collectionViewContentSize.width – self.collectionView.contentOffset.x) / 75) delay:0 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionRepeat | UIViewAnimationOptionBeginFromCurrentState) animations:^{ self.collectionView.contentOffset = CGPointMake(self.collectionView.collectionViewLayout.collectionViewContentSize.width, 0); } completion:nil]; } 这对于滚动视图来说工作正常,并且animation正在收集视图中发生。 但是,只有在animation结尾可见的单元格才会被渲染。 调整contentOffset不会导致cellForItemAtIndexPath 。 如何在contentOffset更改时获取单元格? 编辑:多一点参考(不知道是否有多大的帮助): – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { TickerElementCell *cell = (TickerElementCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"TickerElementCell" forIndexPath:indexPath]; cell.ticker = [self.fetchedResultsController objectAtIndexPath:indexPath]; return cell; } – […]

调用-reloadData后如何保持UITableView的contentoffset

CGPoint offset = [_table contentOffset]; [_table reloadData]; [_table setContentOffset:offset animated:NO]; //unuseful // __block UITableView *tableBlock = _table; // [self performBlock:^(id sender) { // [tableBlock setContentOffset:offset]; // } afterDelay:2]; 我知道在reloadData之后没有调用委托方法。 而且afterDelay:2可能太短或太长,那我该如何实现呢? 我的英文不好,我希望你能理解…

UIScrollviewanimation取决于内容偏移量

我正在使用一个水平的UIScrollView,并且我想要一个背景颜色转换取决于内容偏移量的x值。 例如: UIScrollView的宽度是640px。 当内容偏移量等于0px时,背景色必须是红色的。 当内容偏移量为320像素时,背景必须是黄色的。 但最重要的部分是,当UIScrollview在0px和320px之间时,背景颜色必须在红色和黄色之间。 提示:当您从search向左滑动时,iOS的Twitter应用程序具有相同的animation。 导航上的标签稍微消失。

UITableView contentOffSet工作不正常

在viewWillAppear ,我添加了UISearchBar作为UITableView headerview。 加载视图时,我使用UITableView contentOffSet隐藏UINavigationBar下的UISearchbar 。 当用户拉下桌面时,search栏会显示。 添加headerview后,我使用下面的代码隐藏它。 self.tableView.contentOffset = CGPointMake(0, 40); //My searhbar height is 40 但有时contentOffSet不隐藏headerview。 什么可能是错误的。