Кто работает с векторным изображением? Как изменить размер например и возможно это вообще а то я например вставляю в tabBarItem а изображение на пол экрана вылезает.
Swift SVG векторные изображения
Вы сделали их элементом таббара? Если да,то посмотрите разрешения в GUI от Apple. Если нет,то уточните или скриншот приложите в тему
Изображение где? В билдере или симуляторе?
Если в билдере, то это баг из-за которого я долго время заставлял пользователей смотреть на ужасное разрешение иконок )))
Когда выбирал иконки для таббара, то естественно думал, то в билдере должно быть всё тип-топ. И, исходя их этого, подбирал разрешение, чтобы иконка влазила на бар в билдере. Как оказалаось потом путём случайного тыка )) выяснил, что:
для 1х это - 48х48рх (хотя это уже неактуальное разрешение)
2х - 64х64рх
3х - 96х96рх
Несмотря на то, что иконка в билдере может выглаядеть в 2 раза больше, в симуляторе и на реальном устройстве будь всё ок
да это все правильно просто векторным изображения должно быть пофиг на все эти размеры я просто все сайты всегда только на векторе делал и привык к нему а тут ерунда какая та придется свой мастерить TabBar из обычных кнопок и картинок
Это не совсем верно, тк опытном путём выяснил, что можно в 3 раза качественнее иконки вставлять, просто билдер глючит. Те разрешения, что указаны в ссылке очень маленькие и будут ужасно смотреться в реале.
а может быть такое что Svg Фиговое ? или какой то определенный файл надо чтоб масштабировался, просто проект не маленький, не одна страница и иконок много будет и например если 50 иконок то залить надо 150
Я так-то не особо уверен: а вектор норм вставляеся в проект и работает? Эппле везде пишет про разрешение и .png, ну я только .png и использую…
первобытное решение картинка вставлять так как они не масштабируется занимают много и качество у них не очень я просто web занимался ощутил это что такое картинки они прогружаются долго могут вообще не прогрузится плюс если ее уменьшаешь она портится, если увеличивается портится, одни минусы короче. А SVG прям в страницу встраивается по этому чтоб она не загрузилась это не знаю что делать плюс анимацию иконки можешь сделать и менять и свет и что хочешь, а обычное приходится в 33 трех цветах рисовать и в разных размерах, решение конечно в шрифты еще иконки вставлять но это тоже решение минусовое так как браузеры по разному шрифты принимают и отображают,
Да вот именно что стандартный SVG не поддерживает пробовал через PDF даже через айполовский формат)))) одна и та жа ерунда либо не видит либо отображает как показал на скриншоте, может я не так настроил картинку масштабирование убрал например фиг знает в чем проблема, Если есть желание скинь плиз строчку кода как добавляешь картинку. Вот у меня например вот так “page.tabBarItem.image = UIImage(named: “cube”)” .
Через Sketch SVG легко делается в PDF и все работает как надо.
Единственное, вам скорее всего нужно указать размер иконок для tabBarItem
Спасибо большое что помогаете но я так и не понял как этот размер устанавливать и вообще как все делать, я и 33 примера посмотрел и что только не перепробывал и с цветами поигрался и с размерами самого бара и так так далее а на UIImage не понял как размеры ставить, а так конечно язык прикольный не привычно правда после web. Но буду изучать. Хорошо бы еще исходники какие нибудь простенькие найти чтоб посмотреть как реализована да и как писать надо а то сам понимаешь неделю пишу только хоть и получается кой как но лучше знать как правильно
Для этого на этом сайте есть курсы. Возьмите подписку на месяц и посмотрите хотя бы такие курсы:
- “Гид по языку”
- “UIKit”
- “Первое приложение”
- “Приложение на основе TableView”
Ну и перевод документации, как азбука - всегда рядом должна быть
Этого вполне хватит для начальных потребностей на 90-99%
Да и так многое понятно и документации без курсов хватает, просто есть такие нюансы которые и в курсах не расскажут, да и все кодом пишу, storyboard не пользуюсь, также наткнулся на видос от этого форума где вектор с растровым изображением сравнивают, да и сама суть писать писать UIKIT проста так как тебе даже думать выдумать не чего не надо за тебя у же все придумали, написали просто добавляешь функции, классы, значения и так далее и все уже отображается и работает. Я за пять дней в принципе сделал авторизацию, меню, таблицы с переходом на страницы и прочую ерунду одно так и не понял насчет картинок но это оставлю на потом так как пока не мешает и есть чем заняться,
вот решения ребята
функция:
func svgImage (image: String, width: Int, height: Int) -> UIImage {
let imgs : UIImage = UIImage(named: “(image)”)!
let size = imgs.size
let uSize = CGSize(width: width, height: height)
let uWidth = uSize.width / imgs.size.width
let uHeight = uSize.height / imgs.size.height
var newSize: CGSize
if uWidth > uHeight {
newSize = CGSize(width: size.width * uHeight, height: size.height * uHeight)
} else {
newSize = CGSize(width: size.width * uWidth, height: size.height * uWidth)
}
let rect = CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height)
UIGraphicsBeginImageContextWithOptions(newSize, false, 0)
imgs.draw(in: rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
применение:
tabBarItem.image = svgImage(image: “database”, width: 30, height: 30)