访问iOS 7隐藏的UITableViewCellScrollView?
Posted
技术标签:
【中文标题】访问iOS 7隐藏的UITableViewCellScrollView?【英文标题】:Access iOS 7 hidden UITableViewCellScrollView? 【发布时间】:2013-10-03 15:08:00 【问题描述】: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
。
如何访问此滚动视图?
【问题讨论】:
【参考方案1】:访问新 CellScrollView 的唯一方法是在创建单元格超级视图后访问它。
我添加了以下cellForRowAtIndexPath
:
cell = [[UICustomTableViewCell alloc] init];
UIView *cellScrollView = cell.myLabel.superview;
[cellScrollView.layer setMasksToBounds: NO];
我认为 Apple 应该为我们提供一种无需黑客攻击即可访问此新 ScrollView 的方法。
【讨论】:
【参考方案2】:目标-C:
UIView *cellScrollView = [[cell contentView] superview];
[cellScrollView setClipsToBounds:NO];
斯威夫特:
let cellScrollView = cell.contentView.superview
cellScrollView?.clipsToBounds = false
【讨论】:
以上是关于访问iOS 7隐藏的UITableViewCellScrollView?的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 使用 separatorInset 隐藏分隔符在 iOS 11 中失败
滚动 UITableviewcontroller 时包含 UITextfield 的 UITableviewcell 隐藏
包含UITextfield的UITableviewcell在滚动UITableviewcontroller时隐藏
Swift3:UITableViewCell 和 UIButton - 通过单击 UIButton 显示和隐藏 UITableViewCell