Подтвердить что ты не робот

Error: свойство 'frame' не найдено на объекте типа 'UIView *'

Я отлаживаю свой код и пытаюсь выяснить размер представления, используя это:

p view.frame.size.height

но я получаю эту ошибку:

error: свойство 'frame' не найдено на объекте типа 'UIView *' Ошибка: 1 ошибка разбора выражения

любой из вас знает, почему и как я могу отлаживать размер моего представления?

4b9b3361

Ответ 1

Попробуйте это

p (CGRect)[view frame]

Альтернатива для получения фрейма представления:

po view

Ответ 2

Если вы ненавидите typecasting каждый раз, вы можете попробовать следующее:

(lldb) expr @import UIKit
(lldb) po self.view.bounds

Поскольку Xcode7.2 теперь доступен, я думаю, мы должны обновить ответ.
Я нахожу ответ здесь, Почему LLDB не может печатать view.bounds?

Ответ 3

он должен иметь внешний скобок в первом ответе, например:

p ((CGRect)[cell frame])

выход:

(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44)

Ответ 4

Попробуйте это,

po view.layer.frame.size.height

Ответ 5

Добавьте файл 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

Ответ 6

Кажется, что мы не можем использовать точечную нотацию в консоли, попробуйте использовать метод get.

Ответ 7

У меня была такая же проблема, и я решил ее. Ваш класс может быть унаследован от "UIViewController". Он должен быть унаследован от "UIView", чтобы создать в нем объект фрейма.