2015-03-30 4 views
0

Я использую векторную графику в своем приложении и хотел бы, чтобы изображение было больше. К сожалению, все сообщения, которые я нашел на этом, просто масштабировали изображение, не используя сквозную векторную графику, доступную с более высоким разрешением.UIButton scale vector graphic

photoButton = [[UIButton alloc] initWithFrame:CGRectMake(width/3.0*2.0-15, 
                     15, 
                     width/3.0, 
                     height/3.0)]; 
    [photoButton setImage:[UIImage imageNamed:@"Photo"] forState:UIControlStateNormal]; 
    [photoButton addTarget:self action:@selector(photo) forControlEvents:UIControlEventTouchUpInside]; 

Любые идеи?

+0

Можете ли вы показать изображение того, что вы имеете в виду. Я не совсем понимаю проблему. – Fogmeister

+0

Вы посмотрели свойство 'contentScaleFactor'? – luk2302

+0

@Fogmeister Что я имею в виду, так это то, что я не могу сказать кнопке пересчитать изображение для более высокого разрешения. – Johannes

ответ

1

А, то, что вы видите, является результатом использования векторных изображений в ios и os x. Они не сохраняются как векторные изображения в скомпилированном комплекте. Векторное изображение используется во время компиляции для создания всех необходимых стандартных и сетчатых версий изображения. Затем они сохраняются в виде png-файлов в комплекте, и для отображения их используется файл png для разрешения экрана (стандартная, 2x, 3x сетчатка).

Возможно, вы захотите использовать изменяемое по размеру изображение. Для этого вы не можете использовать векторные изображения, которые вы должны предоставить png. Затем вы можете «нарезать» изображение в изменяемые и не изменяемые по размеру разделы.

Например, вы можете создать фоновое изображение кнопки, которое изменит размер до размеров кнопки и сохранит углы красивыми и закругленными, убедившись, что углы не искажены.

Ознакомьтесь с параметрами «show slicing» в каталоге активов в Xcode.

+0

Спасибо, что поняли, что для меня. Я не знал этого. – Johannes

+0

Я не понимаю мышления в Купертино за это. Пользователи скачивают свои приложения через сотовые сети все время. Почему бы просто не поддерживать векторные изображения, подобные Windows, поэтому пользователи могут иметь меньший размер загрузки. Некоторые универсальные приложения, которые делают это, могут иметь гораздо больший общий размер приложения: / –