2 votes

self.tabBar.shadowImage = [UIImage new] ; ne fonctionne plus après iOS 10

Avant iOS 10, nous pouvons masquer la ligne de gradient d'ombre en utilisant

self.tabBar.shadowImage = [UIImage new];

Mais cette solution ne fonctionne pas après iOS 10, des idées ?

0voto

swifterfit Points 34

J'ai trouvé une solution universelle qui ignore la version iOS

Objectif-C

BOOL isFound = NO;
for (UIView *view in self.tabBar.subviews) {
    for (UIView *v in view.subviews) {
        if (v.frame.size.height < 2.0f) {
            v.hidden = YES;
            isFound = YES;
            break;
        }
    }
    if (isFound) {
        break;
    }
}

0voto

Dixit Akabari Points 1179

Essayez ceci, ça peut être utile.

--> Pour Objective C

1. [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; 
2. [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
3. [[UITabBar appearance] setValue:@(YES) forKeyPath:@"_hidesShadow"];
4. [[UITabBar appearance] setShadowImage: nil];

--> Pour Swift

1. UITabBar.appearance().shadowImage = UIImage()
2. UITabBar.appearance().backgroundImage = UIImage()
3. UITabBar.setValue(true, forKey: "_hidesShadow")
4. UITabBar.appearance().shadowImage = nil

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X