Ответ 1
Попробуйте это
p (CGRect)[view frame]
Альтернатива для получения фрейма представления:
po view
Я отлаживаю свой код и пытаюсь выяснить размер представления, используя это:
p view.frame.size.height
но я получаю эту ошибку:
error: свойство 'frame' не найдено на объекте типа 'UIView *' Ошибка: 1 ошибка разбора выражения
любой из вас знает, почему и как я могу отлаживать размер моего представления?
Попробуйте это
p (CGRect)[view frame]
Альтернатива для получения фрейма представления:
po view
Если вы ненавидите typecasting каждый раз, вы можете попробовать следующее:
(lldb) expr @import UIKit
(lldb) po self.view.bounds
Поскольку Xcode7.2 теперь доступен, я думаю, мы должны обновить ответ.
Я нахожу ответ здесь, Почему LLDB не может печатать view.bounds?
он должен иметь внешний скобок в первом ответе, например:
p ((CGRect)[cell frame])
выход:
(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44)
Попробуйте это,
po view.layer.frame.size.height
Добавьте файл pch, добавьте эти строки кода в файл:
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif
#endif /* PrefixHeader_pch */
Затем свяжите файл pch с вашим проектом:
Запустите приложение еще раз, затем вы сможете использовать точечную нотацию в консоли lldb:
(lldb) po self.view.bounds
Как добавить файл pch, см. ответ здесь Файл PCH в Xcode 6
Кажется, что мы не можем использовать точечную нотацию в консоли, попробуйте использовать метод get.
У меня была такая же проблема, и я решил ее. Ваш класс может быть унаследован от "UIViewController". Он должен быть унаследован от "UIView", чтобы создать в нем объект фрейма.