Благодарю. Ваш код работает нормально. Моя ошибка также была вашим последним фрагментом кода, потому что я установил activeItemBackground в начале моего кода.

я есть UITabBar с тремя вкладками. Теперь я хочу назначить или, скажем, заполнить всю ширину одной вкладки до соответствующего selectionIndicatorImage, потому что в настоящее время я получил границу, если выбрана вкладка. Как вкладка на левой стороне показывает на следующем скриншоте:

Я сделал подкласс UITabBar с новым свойством:

var activeItemBackground:UIColor = UIColor.white {
    didSet {

        let numberOfItems = CGFloat((items!.count))

        let tabBarItemSize = CGSize(width: frame.width / numberOfItems,
                                    height: frame.height)

        selectionIndicatorImage = UIImage.imageWithColor(color: activeItemBackground,
                                     size: tabBarItemSize).resizableImage(withCapInsets: .zero)

        frame.size.width = frame.width + 4
        frame.origin.x = -2


    }
}

И UIImage-Extension для того, чтобы иметь backgroundColor и изображение:

extension UIImage
{
    class func imageWithColor(color: UIColor, size: CGSize) -> UIImage
    {
        let rect: CGRect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        color.setFill()
        UIRectFill(rect)
        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return image
    }
}

Я много читаю об этой проблеме, но, к сожалению, не могу заставить ее работать. Что-то не хватает в моем коде?

Ответы на вопрос(1)

Ваш ответ на вопрос