相关疑难解决方法(0)

如何检测UITableView的加载结束

我想在加载完成后更改表的偏移量,并且该偏移量取决于表上加载的单元格数.

是否可以通过SDK知道uitableview加载何时完成?我在委托和数据源协议上都没有看到任何内容.

我不能使用数据源的计数,因为只加载可见单元格.

iphone uitableview ios

137
推荐指数
9
解决办法
13万
查看次数

当UITableView完成数据请求时收到通知?

有没有办法找出什么时候UITableView从数据源请求数据?

相关视图控制器()的viewDidLoad/ viewWillAppear/ viewDidAppear方法UITableViewController都没有在这里使用,因为它们都过早发生.它们(完全可以理解)都不保证对数据源的查询暂时完成(例如,直到滚动视图).

一个解决办法,我发现是调用reloadDataviewDidAppear,因为当reloadData返回时,表视图保证完成尽可能多的,因为它需要暂时查询的数据源.

但是,这看起来相当令人讨厌,因为我认为这是因为reloadData它首次加载时会导致数据源被要求提供相同的信息两次(一次是自动的,一次是因为调用).

我想要这样做的原因是我想要保留 - 的滚动位置UITableView- 但是直到像素级别,而不仅仅是最近的行.

当恢复滚动位置(使用scrollRectToVisible:animated:)时,我需要表视图中已经有足够的数据,否则scrollRectToVisible:animated:方法调用什么都不做(如果您将调用单独放在任何一个中viewDidLoad,则会发生这种情况,viewWillAppear或者viewDidAppear).

iphone uitableview ios

108
推荐指数
8
解决办法
6万
查看次数

我如何知道UICollectionView已完全加载?

每当完全加载UICollectionView时,我必须做一些操作,即那时应该调用所有UICollectionView的数据源/布局方法.我怎么知道?是否有任何委托方法来了解UICollectionView加载状态?

delegates reload uicollectionview

90
推荐指数
8
解决办法
6万
查看次数

CALayer的动画结束回调?

我想知道CALayer中动画的回调位置(或者有什么内容).具体来说,对于隐含的动画,如改变框架,位置等.在UIView中,你可以这样做:

[UIView beginAnimations:@"SlideOut" context:nil];
[UIView setAnimationDuration:.3];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animateOut:finished:context:)];
CGRect frame = self.frame;
frame.origin.y = 480;
self.frame = frame;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

具体来说,这setAnimationDidStopSelector就是我想要的CALayer中的动画.有什么相似的吗?

TIA.

iphone core-animation

66
推荐指数
8
解决办法
5万
查看次数

如何在调用-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];
Run Code Online (Sandbox Code Playgroud)

我知道不知道任何被调用的委托方法reloadData.使用afterDelay:2哪种黑客可能太短或太长,所以我该如何实现呢?

uitableview reloaddata ios contentoffset

57
推荐指数
8
解决办法
5万
查看次数

在iOS 12中,何时使用UICollectionView布局单元格,在nib中使用autolayout

像这样的代码

collectionLayout.estimatedItemSize = CGSize(width: 50, height: 25)
collectionLayout.itemSize = UICollectionViewFlowLayoutAutomaticSize
collectionLayout.minimumInteritemSpacing = 10 

for _ in 0 ..< 1000 {
    let length = Int(arc4random() % 8)
    let string = randomKeyByBitLength(length)
    array.append(string!)
}
collectionView.reloadData()
Run Code Online (Sandbox Code Playgroud)

细胞限制:

在此输入图像描述

当我在iOS 12上运行它时,它是不同的.左模拟器是iOS 11,右边是iOS 12:

在此输入图像描述

但是,当我滚动它时,细胞的帧将是正常的.


重现问题的示例项目:https://github.com/Coeur/StackOverflow51375566

ios uicollectionview ios-autolayout ios12 xcode10

44
推荐指数
5
解决办法
2万
查看次数

如何让UITableview重新加载到页面顶部?

当我从下面调用以下内容时,当我重新加载表数据时,我试图让UITableview转到页面顶部

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

// A bunch of code …

[TableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)

同样,我还希望能够在重新加载表数据时转到特定的部分.

我尝试放置以下内容,这似乎只适用于重新加载之前和之后的行,但没有任何反应:

[TableView scrollToRowAtIndexPath:0 atScrollPosition:UITableViewScrollPositionTop  animated:YES];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch tableview

31
推荐指数
5
解决办法
2万
查看次数

是 - [UITableView reloadData]异步还是同步?

当您调用-reloadData表视图实例时,它是否会使所有UITableViewDataSource调用异步?谢谢.

cocoa-touch uitableview ios

15
推荐指数
1
解决办法
5183
查看次数

自动滚动到具有特定值的单元格

我在这个表格视图中有一个数字列表.

在此输入图像描述

如您所见,数字会重复出现.让我们将一组重复的数字视为一.所以有1组,2组等等.

我想要做的是当应用程序启动时,我需要自动滚动到指定组的开始位置.在进一步解释之前,这是我的代码到目前为止.

import UIKit

class TableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {

    private var scrollToTime = true
    private var items = [Int]()
    private var groupNoToScroll = 12

    override func viewDidLoad() {
        super.viewDidLoad()

        items = [1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 18, …
Run Code Online (Sandbox Code Playgroud)

scroll uitableview autoscroll ios swift

14
推荐指数
3
解决办法
3万
查看次数

UICollectionView什么时候完成加载?

我如何知道UICollectionView已完全加载?我试图在Swift中重现这个解决方案,但是我在阅读Obj-C时遇到了麻烦.有人可以帮忙吗?

swift

14
推荐指数
2
解决办法
9577
查看次数