父类A有一个子视图B,而该子视图有另一个子视图C,这就是我要隐藏的代码或将代码应用于(C)
如何?
B是A的第三个子视图,C是B的第二个子视图。
他们是这样的:
| A
|| B“ UIView”
|| B“ UIView”
|| B“ UIView”
||| C
||| C(我想访问它)
||| C
我已经尝试过
%hook A
-(void)layoutSubviews {
for (C *view in subviews[2].subviews)
%orig;
view.hidden = YES;
%end
但是没有运气。
答案 0 :(得分:0)
我想到的一种方法是只进行subviews[0].subviews[0]...
,直到获得所需的视图为止。其次,如果您必须多次应用代码,建议您为该视图分配一个标签,然后再执行[UIView viewWithTag:xx],这样会更加安全。
但是在大多数情况下,至少在我的项目中,有一个快捷方式,例如一些委托或直接引用。只需显示FlexFlipboard浏览器并搜索所有内容即可。