如何在滚动视图中显示从web获取的NSArray数据,并在Objective C中展开+更新它



我从web上获取了一些数据,字符串数据存储在NSArray中,如下所示:

"Player one:",
"n Score:",
"5667",
"3445",
"0233",
"n Game Name:",
"Super Mario Bros",
"Monster in my house",
"Jackle"

数据将显示在屏幕上,如下所示:

        **Player One**
Score:            Game Name:
5667              Super Mario Bros
3445              Monster in my house
0233              Jackle

我试过在UIView和UIScrollView上加上空白标签。因此,当"分数"更新时,它会覆盖UILabel值。但是,如果用户在线,我想在屏幕上显示最多10个玩家(像上面的玩家)的数据。这意味着屏幕上可能只有一个用户记分牌,也可能显示5或10个用户记分板。

所以,问题是,我如何根据屏幕上显示的数据量来扩展或缩小滚动视图。我应该把空白的UILabels放在哪里,这样scollview就不会显示空白的长白色页面?有办法做到这一点吗?我试过放UILabels,但这不是一个完美的解决方案,因为我有一个不必要的长白色页面的问题。

简而言之,有没有什么方法可以显示这些数据并自动扩展和缩小滚动视图?或者有更好的方法来解决这个问题吗?

您可以将UITableView放入UIScrollView中并设置其高度:

   [[self yourTableView] setFrame:CGRectMake(yourTableView.frame.origin.x,0, yourTableView.frame.size.width, 50 *yourArray.count)]; //let's say your cell's height is 50

//yourArray.count根据您的在线用户数反映您将有多少行

每个单元格(行)将包含一个在线玩家。您可以添加自定义单元格以进行更友好的用户设计:D

每次更新数据源(数组)时使用上述方法,并让UIScrollView也反映这些修改:

   [yourScrollView setContentSize:CGSizeMake(yourScrollView.size.width, yourTableView.frame.origin.y + yourTableView.frame.size.height+35 )]; //let's say we add just 35 as white space...

相关内容

最新更新