iOS将视图复制n次

iOS将视图复制n次,ios,objective-c,uiview,Ios,Objective C,Uiview,我有一个静态UITableViewController,其中有3个我称之为小部件的部件。这些小部件显示有关游戏的数据(分数、玩家等) 在我的一个小部件中,我想显示所有的玩家和图标。我不知道需要设置多少玩家,因为这取决于服务器给我的结果 所以我想为服务器返回的所有播放器添加N倍的UIView。我本来想在UITableView中这样做,但我在某个地方读到,我无法在TableViewCell中添加UITableView 我希望能够在IB中创建一个“虚拟”UIView,并根据玩家数量复制和添加它,或者这

我有一个静态UITableViewController,其中有3个我称之为小部件的部件。这些小部件显示有关游戏的数据(分数、玩家等)

在我的一个小部件中,我想显示所有的玩家和图标。我不知道需要设置多少玩家,因为这取决于服务器给我的结果

所以我想为服务器返回的所有播放器添加N倍的UIView。我本来想在UITableView中这样做,但我在某个地方读到,我无法在TableViewCell中添加UITableView


我希望能够在IB中创建一个“虚拟”UIView,并根据玩家数量复制和添加它,或者这不可能吗?

我建议您在代码中这样做,您可以很容易地在UIView上创建子类并添加UIScrollView。您可以覆盖initWithFrame以接受视图中的数组:

-(id)initWithFrame:(CGRect)frame data:(NSArray*)myViews
{
    if (self = [super initWithFrame:frame])
    {
        _viewsArray = myViews;

        self.scrollView = [[UIScrollView alloc] init];
        self.scrollView.backgroundColor = [UIColor clearColor];
        [self.scrollView setShowsHorizontalScrollIndicator:NO];
        [self addSubview:self.scrollView];

        for (int i = 0; i < _viewsArray.count; i++)
        {
            // This view (v) needs to initialised base on your array content
            id obj = _viewsArray[i];
            UIView *v = [[UIView alloc] init];

            [self.scrollView addSubview:v];
        }
    }
    return self;
}

我建议您在代码中这样做,您可以很容易地在UIView上创建子类,并且可以添加UIScrollView。您可以覆盖initWithFrame以接受视图中的数组:

-(id)initWithFrame:(CGRect)frame data:(NSArray*)myViews
{
    if (self = [super initWithFrame:frame])
    {
        _viewsArray = myViews;

        self.scrollView = [[UIScrollView alloc] init];
        self.scrollView.backgroundColor = [UIColor clearColor];
        [self.scrollView setShowsHorizontalScrollIndicator:NO];
        [self addSubview:self.scrollView];

        for (int i = 0; i < _viewsArray.count; i++)
        {
            // This view (v) needs to initialised base on your array content
            id obj = _viewsArray[i];
            UIView *v = [[UIView alloc] init];

            [self.scrollView addSubview:v];
        }
    }
    return self;
}


不确定你想要完成什么?这些是否会滚动,它们是否会彼此重叠,为什么不能使用UITableView?我想我们需要更多的细节。什么样的限制阻止了你使用tableView,collectionView不是一个可能的替代品吗?更新的问题希望现在很清楚我想在UITableView中这样做,但是限制我不能吗????重新输入洞的东西希望现在很清楚不确定你想完成什么?这些是否会滚动,它们是否会彼此重叠,为什么不能使用UITableView?我想我们需要更多的细节。什么样的限制阻止了你使用tableView,collectionView不是一个可能的替代品吗?更新的问题希望现在很清楚我想在UITableView中这样做,但是限制我不能吗????重新键入hole thing Hope现在已清除注意,不建议在
UITableView
中使用
UIScrollView
。这可能会(将)导致滚动问题此UIScrollView位于UIView而非UITableView中。我可能错了,但
我想在UITableView中执行此操作,但我在某个地方读到,我无法在TableViewCell中添加UITableView。
问题中的意思是这将在UITableViewCell中。我觉得UICollectionView在这里对您很有用,如果你从来没有看过,我建议你看一本教程来使用它。如果你有几个视图,你可以使用上面的解决方案,但是如果你有很多视图,你应该看看UICollectionView。UICollectionView重用视图,这对应用程序性能有好处。如果向uiscrollview添加大量视图,我的解决方案将严重影响内存(应用程序可能会崩溃)。对于某些需求来说,它很好用,因为它很容易应用,而且在某些情况下已经足够好了。请注意,不建议在
UITableView
中使用
UIScrollView
。这可能会(将)导致滚动问题此UIScrollView位于UIView而非UITableView中。我可能错了,但
我想在UITableView中执行此操作,但我在某个地方读到,我无法在TableViewCell中添加UITableView。
问题中的意思是这将在UITableViewCell中。我觉得UICollectionView在这里对您很有用,如果你从来没有看过,我建议你看一本教程来使用它。如果你有几个视图,你可以使用上面的解决方案,但是如果你有很多视图,你应该看看UICollectionView。UICollectionView重用视图,这对应用程序性能有好处。如果向uiscrollview添加大量视图,我的解决方案将严重影响内存(应用程序可能会崩溃)。它对某些需求很好,因为它很容易应用,在某些情况下,它已经足够好了。