Задать вопрос
@rufatz1

Как можно задать двум различным UITabBar различные размеры?

Как можно задать двум различным UITabBar различные размеры используя UITabBar.appearance?

По существующему коду, он подчеркивает линии одинакова на обоих TabBar-ах тем самым в том, где высокий таббар, подчеркивающая линия попадает почти в центр :/

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        
        UITabBar.appearance().selectionIndicatorImage = getImageWithColorPosition(color: UIColor(red:0.94, green:0.33, blue:0.21, alpha:1.0),                                                                                  size: CGSize(width:(self.window?.frame.size.width)!/4,height: 49), lineSize: CGSize(width:(self.window?.frame.size.width)!/4, height:2))
            return true
        
        }

    
    func getImageWithColorPosition(color: UIColor, size: CGSize, lineSize: CGSize) -> UIImage {
        let rect = CGRect(x:0, y: 0, width: size.width, height: size.height)
        let rectLine = CGRect(x:0, y:size.height-lineSize.height,width: lineSize.width,height: lineSize.height)
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        UIColor.clear.setFill()
        UIRectFill(rect)
        color.setFill()
        UIRectFill(rectLine)
        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return image
    }
  • Вопрос задан
  • 128 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Statusgman
iOS developer
appearance проксирует параметры для всех объектов класса, к которому применен вызов. Вы можете создать дочерние классы UITabBar и использовать appearance для них, но лучше просто кастомизировать внешний вид внутри этих классов.

https://developer.apple.com/documentation/uikit/ui...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы