gpt4 book ai didi

ios - 如何在 AsyncDisplayKit 中为 AsTableNode 创建框架?

转载 作者:行者123 更新时间:2023-11-28 15:58:53 28 4
gpt4 key购买 nike

我使用 facebook 的 AsyncDisplayKit 来运行我的项目,在那里我找到了一个名为“ASDKgram”的示例项目。它使用节点而不是 TableViewCells。默认情况下,“AsTableNodes”又名 TableView 显示在屏幕的边界。

我希望我的 tableViewAsTableNodes 从 uiScreen 的每个边缘显示 10pixels

问题:如何创建具有特定框架的 AsTableNodes?

如果有人已经通过 AsyncDisplayKit,请回复。

这是该项目的链接 https://github.com/facebook/AsyncDisplayKit/tree/master/examples/ASDKgram

提前致谢。

最佳答案

使用ASCollectionNode

首先,替换

tableNode = [[ASTableNode alloc] init];

tableNode = [[ASCollectionNode alloc] initWithCollectionViewLayout:[UICollectionViewFlowLayout new]];

然后将其添加到 ASViewController

- (void)viewDidLoad {
[super viewDidLoad];

_tableNode.view.contentInset = UIEdgeInsetsMake(0, 10, 0, 10);
}

- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForNodeAtIndexPath:(NSIndexPath *)indexPath {
return ASSizeRangeMake(
CGSizeMake(0, 0),
CGSizeMake(self.view.frame.size.width - 2*10, CGFLOAT_MAX)
);
}

- (NSInteger)collectionNode:(ASCollectionNode *)collectionNode numberOfItemsInSection:(NSInteger)section {
return [_photoFeed numberOfItemsInFeed];
}

- (ASCellNodeBlock)collectionNode:(ASCollectionNode *)collectionNode nodeBlockForItemAtIndexPath:(NSIndexPath *)indexPath {
PhotoModel *photoModel = [_photoFeed objectAtIndex:indexPath.row];
// this will be executed on a background thread - important to make sure it's thread safe
ASCellNode *(^ASCellNodeBlock)() = ^ASCellNode *() {
PhotoCellNode *cellNode = [[PhotoCellNode alloc] initWithPhotoObject:photoModel];
return cellNode;
};

return ASCellNodeBlock;
}

结果:

enter image description here

关于ios - 如何在 AsyncDisplayKit 中为 AsTableNode 创建框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41374233/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com