访问iOS 7隐藏的UITableViewCellScrollView?

时间:2013-10-03 15:08:00

标签: ios objective-c uitableview ios7

Apple更改了iOS 7中的UITableViewCell层次结构

使用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。 如何访问此滚动视图?

2 个答案:

答案 0 :(得分:7)

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

我添加了以下cellForRowAtIndexPath

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

我认为Apple应该为我们提供一种方法来访问这个新的ScrollView而不会出现黑客攻击。

答案 1 :(得分:2)

目标-C:

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

夫特:

let cellScrollView = cell.contentView.superview
cellScrollView?.clipsToBounds = false