Получение размеров UITextView - PullRequest
0 голосов
/ 09 марта 2011

Я хотел бы определить размеры (особенно количество строк) определенной текстовой строки, если поместить ее в UITextView с размерами 200 x 460 пикселей, шрифт Courier.

Я попытался вызвать следующий методчтобы получить целое число, которое я могу затем отобразить.Тем не менее, это не сработает (xCode сообщает, что у меня несовместимые типы при инициализации):

NSString *temp2String;
    temp2String = [NSString stringWithFormat:@"%@",[textView text]];

    int strSize = [temp2String sizeWithFont:@"Courier" constrainedToSize:CGSizeMake(200, 10000)
                   lineBreakMode:UILineBreakModeWordWrap];

    NSString *temp2 = [[NSString alloc] initWithFormat:@"Size of string: %d", strSize];
    textViewSize.text = temp2;
    [temp2 release];

Я новичок, и сегодня я отправил аналогичный вопрос, но до сих пор не могу понятьузнать, как заставить работать CGSize и дать мне ответ, который мне нужен.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

CGSize - это структура (из CGGeometry.h):

struct CGSize {
  CGFloat width;
  CGFloat height;
};

Следовательно, все, что вам нужно сделать, это выбрать его и отобразить все необходимое вам измерение;

CGSize strSize = [temp2String sizeWithFont:@"Courier" constrainedToSize:CGSizeMake(200, 10000)
                   lineBreakMode:UILineBreakModeWordWrap];

Следуя вашему примеру (обратите внимание, размеры указаны в значениях с плавающей запятой):

NSString *temp2 = [[NSString alloc] initWithFormat:@"Width of string: %f", strSize.width];
textViewSize.text = temp2;
[temp2 release];
1 голос
/ 09 марта 2011

CGSize является структурой. Он содержит два числа с плавающей точкой: высота и ширина.

CGSize strSize = [temp2String sizeWithFont:@"Courier" constrainedToSize:CGSizeMake(200, 10000)
                   lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"Height %f, width %f", strSize.height, strSize.width);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...