我需要一种展示排行榜的方式-最佳用户分数(本地用户,本地分数)。
我需要为此类事物创建自己的“节点”,还是最好使用具有透明背景的UITableView和SKView?
我需要为此类事物创建自己的“节点”,还是最好使用具有透明背景的UITableView和SKView?
在场景的didMoveToView:方法中,设置一个UIScrollView实例。设置所有需要的属性,并确保还设置了其委托(delegate),将hidden设置为YES,并将它的panGestureRecognizer添加到视图手势识别器集合中。
在willMoveFromView:方法中,拆卸并清理它。
在scrollview委托(delegate)中实现scrollViewDidScroll:方法。在这里,您可以使用滚动视图的contentOffset点来调整节点的位置。
我已经实现了一个可偏移的节点(CATOffsetNode),我将其用作需要滚动的根节点。它所做的就是实现一个contentOffset属性 - 您可以在此处查看:CATOffsetNode Gist。
因此,在scrollViewDidScroll:中,我所需要做的就是:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
// I don't need to flip scrollView.contentOffset.Y because my scrollview
// Y coordinate is flipped. See below.
self->_gameListNode.contentOffset = scrollView.contentOffset;
}
-(id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
CGAffineTransform verticalFlip = CGAffineTransformMakeScale(1,-1);
self.transform = verticalFlip;
}
return self;
}
这并非必须的(而且您甚至不需要子类化UIScrollView来实现此操作),但是如果没有这个,您将不得不在滚动视图代理中手动翻转contentOffset.Y。