UIScrollView 内的 UITableView 在 Xcode 7.0.1 中部分不可见?
Posted
技术标签:
【中文标题】UIScrollView 内的 UITableView 在 Xcode 7.0.1 中部分不可见?【英文标题】:UITableView inside UIScrollView partially invisible in Xcode 7.0.1? 【发布时间】:2015-10-24 07:45:40 【问题描述】:所以我正在对使用 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];
);
这是为了调用 infos(它有效)
然后在cellForRowAtIndexPath:函数里面:
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 *)@"[\"伪\":\"Padadise\",\"nbvote\":\"7969\",\"nbvotesoffline\":\"364\", \"伪\":\"Roope\",\"nbvote\":\"5647\",\"nbvotesoffline\":\"0\",\"伪\":\"Spank78\" ,\"nbvote\":\"2696\",\"nbvotesoffline\":\"6\",\"伪\":\"All Ice\",\"nbvote\":\"680\ ",\"nbvotesoffline\":\"73\",\"伪\":\"NewPad\",\"nbvote\":\"73\",\"nbvotesoffline\":\"1\ ",\"伪\":\"Nell\",\"nbvote\":\"47\",\"nbvotesoffline\":\"0\",\"伪\":\" AppleFriend\",\"nbvote\":\"4\",\"nbvotesoffline\":\"0\"]"
jsonArray3 = (__NSCFArray *) @"7 个对象" [0] __NSCFDictionary * 3 个键/值对
[0] 结构 __lldb_autogen_nspair 键 NSTaggedPointerString * @"伪" value NSTaggedPointerString * @"Padadise"
[1] 结构 __lldb_autogen_nspair 键 NSTaggedPointerString * @"nbvote" 值 NSTaggedPointerString * @"7969"
[2] 结构 __lldb_autogen_nspair 键 __NSCFString * @"nbvotesoffline" 值 NSTaggedPointerString * @"364"
对于 jsonArray3,我只给出第一个对象(不要重复)
【问题讨论】:
请贴一些代码和图片。 当然。我已经编辑了问题。 我暂时无法发布图片(限制)... 我看不出你的代码有什么问题。你能记录topglobreceived
和jsonArray3
的值吗?
当然。完成。就像你说的那样,我的问题恰恰是看起来没有任何问题......(它在以前的版本中运行良好,没有任何改动)
【参考方案1】:
所以我想通了!
在较新版本的 Xcode 中,单元格(不是您在自定义单元格中设计的元素)的初始属性已更改。特别是单元格文本字段的背景,现在默认为白色,或者位于动态单元格的自定义元素之前。
为了解决我的问题,我必须编写这段代码,并且一切正常。
myCell.textLabel.backgroundColor = [UIColor clearColor];
这不容易发现...
【讨论】:
以上是关于UIScrollView 内的 UITableView 在 Xcode 7.0.1 中部分不可见?的主要内容,如果未能解决你的问题,请参考以下文章
限制 UIScrollView 内的 UILabel 的高度
UIScrollview 内的 UIView 内的 UILabel 上的 UIGestureRecognizer
UIScrollview内的UIView内的UIButton,ARC问题
Swift - 通过点击 ScrollView 内的 ViewController 内的按钮来滚动 UIScrollView