这是我的代码:
UIImage *segmentSelected = [[UIImage imagenamed:@"segcontrol_sel.png"] resizableImageWithCAPInsets:UIEdgeInsetsMake(6,6,6)]; UIImage *segmentUnselected = [[UIImage imagenamed:@"segcontrol_unsel.png"] resizableImageWithCAPInsets:UIEdgeInsetsMake(6,6)]; UIImage *segmentSelectedUnselected = [UIImage imagenamed:@"segcontrol_sel_uns.png"]; UIImage *segUnselectedSelected = [UIImage imagenamed:@"segcontrol_uns_sel.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];
任何想法,当我按下UISegmentedControl可能会导致分隔线显示错误发生什么?
谢谢?
- (voID)sendActionsForControlEvents:(UIControlEvents)controlEvents{ [super sendActionsForControlEvents:controlEvents]; if (controlEvents & UIControlEventValueChanged) { [self removeAnimationsRecursivelyForVIEw:self]; }}- (voID)removeAnimationsRecursivelyForVIEw:(UIVIEw *)vIEw{ [vIEw.layer removeAllAnimations]; for (UIVIEw *subvIEw in [vIEw subvIEws]) { [self removeAnimationsRecursivelyForVIEw:subvIEw]; }}
显然,这仍然不是一个完美的解决方案,因为它依赖于UISegmentedControl的内部,但至少它会使你的代码变得更加清洁.
总结以上是内存溢出为你收集整理的iOS 7分割图像中的UISegmentedControl在动画过程中出错全部内容,希望文章能够帮你解决iOS 7分割图像中的UISegmentedControl在动画过程中出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)