5

Apple 更改UITableViewCelliOS 7 中的层次结构

使用 iOS 6.1 SDK

<UITableViewCell>
   | <UITableViewCellContentView>
   |    | <UILabel>

使用 iOS 7 SDK

<UITableViewCell>
   | <UITableViewCellScrollView>
   |    | <UITableViewCellContentView>
   |    |    | <UILabel>

我的问题是UITableViewCellScrollView.layer.masksToBounds = TRUE默认情况下,我需要它是假的。

我尝试了以下方法:

UIView * scrollView = [self.subviews objectAtIndex:0];
scrollView.layer.masksToBounds = NO;

[self.myLabel.superview.layer setMasksToBounds:NO];

但他们都没有改变UITableViewCellScrollView. 我怎样才能访问这个滚动视图?

4

2 回答 2

7

访问新 CellScrollView 的唯一方法是在创建单元格超级视图后访问它。

我添加了以下内容cellForRowAtIndexPath

cell = [[UICustomTableViewCell alloc] init];
UIView *cellScrollView = cell.myLabel.superview;
[cellScrollView.layer setMasksToBounds: NO];

我认为 Apple 应该为我们提供一种无需黑客攻击即可访问此新 ScrollView 的方法。

于 2013-10-05T04:38:40.290 回答
2

目标-C:

UIView *cellScrollView = [[cell contentView] superview];
[cellScrollView setClipsToBounds:NO];

迅速:

let cellScrollView = cell.contentView.superview
cellScrollView?.clipsToBounds = false
于 2014-06-05T10:44:26.737 回答