手机APP,选中某一个Item的时候,其背景要完整的替换掉,采用系统自带的
@property(nonatomic,retain) UIColor *selectedImageTintColor
会出现边框的情况,最后找不到其它解决办法,使用了一个变通的方法:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"mainTabBarSelectedBackground"] stretchableImageWithLeftCapWidth:4 topCapHeight:4]];
imageView.tag = kSelectedBackgroundTag;
imageView.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame) / 4, 50);
[self.tabBar insertSubview:imageView atIndex:0];
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
UIImageView *imageView = (UIImageView *)[self.tabBar viewWithTag:kSelectedBackgroundTag];
[UIView animateWithDuration:0.2 animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
CGPoint center = imageView.center;
center.x = CGRectGetWidth(imageView.frame) / 2 + CGRectGetWidth(imageView.frame) * self.selectedIndex;
imageView.center = center;
}];
}
这样就可以达到了其背景的替换。。。。