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