NOUSguide / NGTabBarController

A custom TabBarController implementation for iPhone and iPad
Other
263 stars 0 forks source link

TabBar background not set when using resizable image with cap insets #15

Open mgrebenets opened 11 years ago

mgrebenets commented 11 years ago

Setting background image takes no effect when using resizable image with cap insets. The line of code is missing (or misplaced?) from NGTabBar.m

- (void)setBackgroundImage:(UIImage *)backgroundImage {
    if (backgroundImage != _backgroundImage) {
        [self.backgroundView removeFromSuperview];
        _backgroundImage = backgroundImage;

        if (backgroundImage != nil) {
            // is the image a non-resizable image?
            if (UIEdgeInsetsEqualToEdgeInsets(backgroundImage.capInsets,UIEdgeInsetsZero)) {
                self.backgroundView = [[UIView alloc] initWithFrame:self.bounds];
                self.backgroundView.backgroundColor = [UIColor colorWithPatternImage:backgroundImage];
                [self insertSubview:self.backgroundView atIndex:0];
            } else {
                self.backgroundView = [[UIImageView alloc] initWithImage:backgroundImage];
               // HERE: the line below is missing in current master code
               [self insertSubview:self.backgroundView atIndex:0];
            }
        } else {
            self.backgroundView = nil;
        }
    }
}