У меня есть старый проект, и в его коде используется sizeWithFont. Я получил предупреждение от xcode о том, что он впервые устарел в iOS 7, и попросил заменить его на
(CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context
У меня два вопроса:
I. если я не намерен его менять, что произойдет? Это приведет к сбою моего приложения или просто обойдет устаревший API?
II. Я хотел использовать предложенный API, но меня смущает, что он запрашивает параметр CGSize и возвращает CGRect, в то время как моему старому проекту просто нужно вернуть CGSize. Если у меня уже есть CGSize, зачем мне снова нужен прямоугольник? Пожалуйста, поправьте меня и дайте код, использующий новый API. Большое спасибо!
РЕДАКТИРОВАТЬ:
Я проверил ответ в разделе «Замена устаревшего sizeWithFont: в iOS 7»?
Я сделаю самостоятельный ответ, чтобы сравнить два решения.
Еще один вопрос:
Я заметил, что есть [self setNumberOfLines:1];, следует ли мне сохранить его или можно удалить? На данный момент это ни на что не влияет в моем коде, но я не знаю других ситуаций, например, ситуации с несколькими строками.
Старый устаревший код:
@implementation UILabel (dynamicSize)
-(CGFloat)expectedWidth{
[self setNumberOfLines:1];
CGSize maximumLabelSize = CGSizeMake(9999,self.frame.size.height);
CGSize expectedLabelSize = [[self text] sizeWithFont:[self font]
constrainedToSize:maximumLabelSize
lineBreakMode:[self lineBreakMode]];
return expectedLabelSize.width;
}
@end
Подробнее здесь: https://stackoverflow.com/questions/296 ... d-on-ios-7
Как заменить sizeWithFont после того, как он устарел в iOS 7 ⇐ IOS
Программируем под IOS
-
Anonymous
1768426438
Anonymous
У меня есть старый проект, и в его коде используется sizeWithFont. Я получил предупреждение от xcode о том, что он впервые устарел в iOS 7, и попросил заменить его на
(CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context
У меня два вопроса:
I. если я не намерен его менять, что произойдет? Это приведет к сбою моего приложения или просто обойдет устаревший API?
II. Я хотел использовать предложенный API, но меня смущает, что он запрашивает параметр CGSize и возвращает CGRect, в то время как моему старому проекту просто нужно вернуть CGSize. Если у меня уже есть CGSize, зачем мне снова нужен прямоугольник? Пожалуйста, поправьте меня и дайте код, использующий новый API. Большое спасибо!
[b]РЕДАКТИРОВАТЬ:[/b]
Я проверил ответ в разделе «Замена устаревшего sizeWithFont: в iOS 7»?
Я сделаю самостоятельный ответ, чтобы сравнить два решения.
[b]Еще один вопрос:[/b]
Я заметил, что есть [self setNumberOfLines:1];, следует ли мне сохранить его или можно удалить? На данный момент это ни на что не влияет в моем коде, но я не знаю других ситуаций, например, ситуации с несколькими строками.
Старый устаревший код:
@implementation UILabel (dynamicSize)
-(CGFloat)expectedWidth{
[self setNumberOfLines:1];
CGSize maximumLabelSize = CGSizeMake(9999,self.frame.size.height);
CGSize expectedLabelSize = [[self text] sizeWithFont:[self font]
constrainedToSize:maximumLabelSize
lineBreakMode:[self lineBreakMode]];
return expectedLabelSize.width;
}
@end
Подробнее здесь: [url]https://stackoverflow.com/questions/29602114/how-to-replace-sizewithfont-after-it-is-deprecated-on-ios-7[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия