Ios7 将图像添加到段控制器
在iOS 7之前,将彩色图像添加到段控制器很容易,但现在如果将图像添加到段控制器中,则只有使用默认着色颜色的图像可见,而不是实际颜色 有人知道这件事吗?如果有人知道的话,请帮帮我 这可能会对你有所帮助Ios7 将图像添加到段控制器,ios7,Ios7,在iOS 7之前,将彩色图像添加到段控制器很容易,但现在如果将图像添加到段控制器中,则只有使用默认着色颜色的图像可见,而不是实际颜色 有人知道这件事吗?如果有人知道的话,请帮帮我 这可能会对你有所帮助 UIImage *segmentSelected = [[UIImage imageNamed:@"Off.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(6, 6, 6, 6)]; UI
UIImage *segmentSelected = [[UIImage imageNamed:@"Off.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(6, 6, 6, 6)];
UIImage *segmentUnselected = [[UIImage imageNamed:@"On.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(6, 6, 6, 6)];
UIImage *segmentSelectedUnselected =
[UIImage imageNamed:@"dividerOn.png"];
UIImage *segUnselectedSelected =
[UIImage imageNamed:@"dividerOff.png"];
[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setBackgroundImage:segmentSelected
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected
forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segUnselectedSelected
forLeftSegmentState:UIControlStateNormal // | UIControlStateHighlighted
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segUnselectedSelected
forLeftSegmentState:UIControlStateHighlighted
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected
forLeftSegmentState:UIControlStateSelected
rightSegmentState:UIControlStateNormal //| UIControlStateHighlighted)
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected
forLeftSegmentState:UIControlStateSelected
rightSegmentState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
UIFont *font = [UIFont systemFontOfSize:16.0f];
UIColor *textColor = [UIColor darkGrayColor];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
font, @"NSFontAttributeName",
textColor, @"NSForegroundColorAttributeName",
nil];
[[UISegmentedControl appearance] setTitleTextAttributes:attributes
forState:UIControlStateNormal];
使用:imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal修复它
UIImage *segmentImage = [UIImage imageNamed:@"Example"];
if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)]) {
segmentImage = [segmentImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
[self.control insertSegmentWithImage:segmentImage atIndex:i animated:NO];
只需将segmentController tintcolor更改为UIColor clearColor,即可使用style controlstyleborder
SegmentControl.backgroundColor= [UIColor clearColor];
[SegmentControl setTintColor:[UIColor clearColor]];