Привет, совершенно новый в настройке панелей вкладок, но провел немало исследований, чтобы найти то, что мне нужно, чтобы получить результат, показанный на рисунке.Нашел много, но не так много, что я могу использовать;установили требуемый отступ для левого и правого краев панели и использовали расширение для UIImage, чтобы получить желтый цвет для свойства selectionIndicatorImage панели, текущий код приведен ниже.Это так далеко, как я пришел.Мне нужно поставить радиус на этом желтом фоне.Мне нужно иметь иконку в предмете такого размера.Я уверен, что это означает, что я не могу просто установить свойство изображения самого элемента, так как я понимаю, что он должен быть определенного размера ( Размер значка панели вкладок ) Внутри первых 2 элементов вкладки мне также нужнопоместите вторую меньшую иконку к верхнему левому краю основного.Я понял, что мне нужно использовать представления изображений для всего, чтобы получить то, что я сказал выше, но я изо всех сил пытаюсь найти примеры, которые я могу использовать, что использовать для их создания, как добавить их к элементу вкладки и как расположитьих.Просто чтобы быть как можно более ясным: я не хочу использовать tabBarItem.image = какое-то изображение.Я хочу не использовать это свойство и просто отображать представление изображения со значком правильного размера, занимающего ту же позицию, которая назначена свойству tabBarItem.image.Я хочу обойти свойства вкладок, данные мне, и использовать вместо этого представления изображений.Любая помощь будет очень ценится.
// From the tab bar controller.
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
self.tabBar.frame = self.tabBar.frame.insetBy(dx: 7, dy: 0)
let numberOfTabs = CGFloat(tabBar.items!.count)
let tabItemSize = CGSize(width: tabBar.frame.width / numberOfTabs, height: tabBar.frame.height )
tabBar.selectionIndicatorImage = UIImage.imageWithColor(color: UIColor.customColoursForAllElements(colourName: "menu yellow"), size: tabItemSize)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
tabBar.invalidateIntrinsicContentSize()
}
extension UIImage {
class func imageWithColor(color: UIColor, size: CGSize) -> UIImage {
let rect: CGRect = CGRect(x: 0, y: 10, width: size.width, height: size.height - 15)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}
}