UIScrollView中的UITableView在Xcode 7.0.1中部分不可见?

时间:2015-10-24 07:45:40

标签: ios objective-c xcode uitableview uiscrollview

所以我正在研究使用Xcode 6编码的Objective-C应用程序的更新,但这次是使用Xcode 7.0.1(最近使用Xcode 7.1),我发现我的代码的特定部分有一个奇怪的结果。 首先,我必须说明在应用程序的先前版本中,这部分代码工作得很好。所以我们讨论的是一个UIScrollView,它包含了很多东西,我们可以找到三个显示三个顶级列表的UITableView。

问题在于:自从使用Xcode 7.0.1以来,UITableViews不再显示任何信息,但我无法找到原因,因为当你选择一个时,每个单元格的信息实际上都在这里...

有没有人遇到同样的问题?

以下是代码:

- (void)toppassionglob:(NSString *)topglobreceived {

//on retransforme le string des stats en data
NSData *toppassioner = [topglobreceived dataUsingEncoding:NSUTF8StringEncoding];

NSError *error3;
NSArray *jsonArray3 = [NSJSONSerialization JSONObjectWithData:toppassioner options:NSJSONReadingAllowFragments error:&error3];
if (jsonArray3) {
    dispatch_async(dispatch_get_main_queue(), ^{

        //on purge notre tableau
        [toppassion removeAllObjects];

        //puis on traite les infos
        for (int i = 0; i < jsonArray3.count; i++)
        {
            NSDictionary *jsonElement = jsonArray3[i];

            Games *newpassionner = [[Games alloc] init];
            newpassionner.name = jsonElement[@"pseudo"];
            newpassionner.score = jsonElement[@"nbvote"];
            newpassionner.image = jsonElement[@"nbvotesoffline"];

            [toppassion addObject:newpassionner];

        }

        //puis le remplissage des tops
        [_toppassionnerglob reloadData];

    });
}

这是对于信息的调用(它有效)

然后在cellForRowAtIndexPath:function:

RankCell *myCell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"];

if (myCell == nil) {
    myCell = [[RankCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}

    Games *thisone = [toppassion objectAtIndex:indexPath.row];
    myCell.textLabel.text = [NSString stringWithFormat:@"%ld", (long)indexPath.row+1];
    myCell.textLabel.textColor = [UIColor purpleColor];
    myCell.name.text = [NSString stringWithFormat:@"%@", thisone.name];
    myCell.rank.text = [NSString stringWithFormat:@"%@ votes, %@ offline", [self separateur:thisone.score], [self separateur:thisone.image]];

}

提前感谢您的回答。

编辑: 以下是toplobreceived和jsonArray3包含的内容

topglobreceived =(__ NSCFString *)@“[{\”pseudo \“:\”Padadise \“,\”nbvote \“:\”7969 \“,\”nbvotesoffline \“:\”364 \“}, {\ “伪\”:\ “Roope \”,\ “nbvote \”:\ “5647 \”,\ “nbvotesoffline \”:\ “0 \”},{\ “伪\”:\ “Spank78 \” ,“nbvote \”:\“2696 \”,\“nbvotesoffline \”:\“6 \”},{\“pseudo \”:\“All Ice \”,\“nbvote \”:\“680 \ “\ ”nbvotesoffline \“:\ ”73 \“},{\ ”伪\“:\ ”NewPad \“,\ ”nbvote \“:\ ”73 \“,\ ”nbvotesoffline \“:\” 1 \ “},{\” 伪\ “:\” 内尔\ “\ ”nbvote \“:\ ”47 \“,\ ”nbvotesoffline \“:\ ”0 \“},{\ ”伪\“:\” AppleFriend \“,\”nbvote \“:\”4 \“,\”nbvotesoffline \“:\”0 \“}]”

jsonArray3 =(__ NSCFArray *)@“7个对象”
[0] __NSCFDictionary * 3个键/值对

[0] struct __lldb_autogen_nspair
key NSTaggedPointerString * @“pseudo”
值NSTaggedPointerString * @“Padadise”

[1] struct __lldb_autogen_nspair
key NSTaggedPointerString * @“nbvote”
值NSTaggedPointerString * @“7969”

[2] struct __lldb_autogen_nspair
key __NSCFString * @“nbvotesoffline”
值NSTaggedPointerString * @“364”

对于jsonArray3我只给出第一个对象(不是redondant)

1 个答案:

答案 0 :(得分:0)

所以我想出来了!

在较新版本的Xcode中,单元格的初始属性(不是您在自定义单元格中设计的元素)已更改。其中一个特别是单元格的文本字段的背景,现在默认为白色或放在动态单元格的自定义元素前面。

为了解决我的问题,我必须使用这些代码并且一切正常。

    myCell.textLabel.backgroundColor = [UIColor clearColor];

这并不容易找到......