UIView frame.size.width равно нулю? - PullRequest
1 голос
/ 04 июля 2011

Я создал подкласс UIView, и внутри подкласса я пытаюсь получить доступ к свойству width в представлениях.Я пытаюсь получить ширину, как это,

CGFloat width = self.frame.size.width;
NSLog(@"Width: %f", width);

Однако по какой-то причине ширина, которую я получаю, равна 0,000000

Когда я создаю представление, я устанавливаю свойство frameс помощью функции CGRectMake () и представление четко отображается правильно, так почему свойство width должно возвращать ноль?

Ответы [ 3 ]

2 голосов
/ 04 июля 2011

Если вы создаете подкласс UIPickerView, независимо от установленного кадра ширина и высота составляют 320 216 (для портрета).
Убедитесь, что self в вашем коде указывает на сборщик.

0 голосов
/ 20 марта 2013

Вы пробовали это @cgossain?

CGFloat width = CGRectGetWidth(self.view.bounds);
CGFloat height = CGRectGetHeight(self.view.bounds);
0 голосов
/ 04 июля 2011

Попробуйте CGFloat width = self.view.frame.size.width;

...