Как я могу подключить подпредставление подпредставления? - PullRequest
0 голосов
/ 06 апреля 2019

У родительского класса A есть подпредставление B, и у этого подпредставления есть другое подпредставление C, это то, что я хочу скрыть или применить код к (C)

Как?

B являетсятретье подпредставление A и C является вторым подпредставлением B.

Они такие:

  1. | A

  2. || B «UIView»

  3. || B «UIView»

  4. || B «UIView»

  5. ||| C

  6. ||| C (я хочу получить к нему доступ)

  7. ||| C

Я уже пробовал

%hook A

-(void)layoutSubviews {

for (C *view in subviews[2].subviews)

%orig;

view.hidden = YES;

%end

но не повезло.

1 Ответ

0 голосов
/ 13 апреля 2019

Единственный способ, которым я думаю, - это просто делать subviews[0].subviews[0]..., пока вы не получите желаемое представление. Во-вторых, если вам придется применять код более одного раза, я бы порекомендовал назначить тег этому представлению один раз, а затем просто сделать [UIView viewWithTag: xx], это намного безопаснее.

Но в большинстве случаев, по крайней мере, в моих проектах, есть ярлык, например, какой-то делегат или ссылка на него напрямую. Просто покажите браузер FlexFlipboard и выполните поиск по всему.

...