2016-09-13 5 views
0

Наш проект был разработан в течение 4 лет. Он содержит тонны кодов. В любом случае, чтобы определить имя текущего UIViewController или определенного элемента управления, когда я запускаю приложение и касаюсь определенного элемента управления на экране.Как узнать текущий UIViewController или конкретный элемент управления (приложение ios)?

Если нет способа, я буду погружаться в код для отладки. Извините за мое невежество.

наш код написан на Objective-C, поддерживает ios7,8,9,10, iphone и Ipad

+1

Я не думаю, что есть какой-либо способ идентифицировать текущий контроллер или определенные элементы управления, просто запустив и коснувшись любого элемента управления. Вам нужно добавить код для идентификации текущего контроллера или отладки. – shuvo

+0

Спасибо @shuvo. Я думаю так. – chipbk10

+1

Счастливые отладки. :-p – shuvo

ответ

0

плз использовать этот

UIViewController *viewOb = [self getTopViewController]; 

    -(id)getTopViewController{ 


       UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController; 

       while (topController.presentedViewController) { 
        topController = topController.presentedViewController; 
       } 
       if (![topController isKindOfClass:[NSNull class]]) { 

        return topController; 
       } 



     } 
+0

это не мой вопрос. Наверное, вы читаете слишком быстро. Благодарю. – chipbk10

+0

@ chipbk10 вы хотите имя текущего контроллера? я не ошибаюсь. –

+0

Я имею в виду, ваш только что получил новый проект. Вы ничего не знаете в коде. Возможно ли это с экрана iPhone или iPad, когда вы касаетесь или переходите к новому экрану, вы знаете, в каком UIViewController вы сейчас находитесь? Наверное, нет способа. Благодарю. – chipbk10

1

Во время работы, вы можете попросить Xcode, чтобы заморозить экран и загрузите его макет в Xcode. Это называется «Debug View Иерархия» enter image description here

В этой точке зрения, вы можете щелкнуть правой кнопкой мыши на элементах и ​​распечатать их описание в окно lldb. Также слева вы увидите полную иерархию всех элементов пользовательского интерфейса. Очень полезно для обратной разработки кода, написанного кем-то еще ...

+0

Возможно, это ответ. Я отвечу на ваш ответ. Я нажимаю на эту кнопку, но когда-то она говорила, что не может захватить экран. Так или иначе. Благодарю. – chipbk10

+1

Я знаю, это не всегда работает. Это большая тайна, когда это происходит, а когда нет. Я рассчитывал, что вам удастся добиться успеха :). Попробуйте как реальное устройство, так и симулятор – ishahak

Смежные вопросы