父类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

但没有运气。

最佳答案

我正在考虑的一种方法是执行subviews[0].subviews[0]...直到获得所需的视图。其次,如果您必须多次应用代码,我建议您为该视图分配一个标签,然后再执行[UIView viewWithTag:xx],这样更加安全。

但是在大多数情况下,至少在我的项目中,存在捷径,例如一些委托或直接引用。只需显示FlexFlipboard浏览器并搜索所有内容即可。

关于ios - 如何 Hook subview 的 subview ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55551846/

10-10 14:39