Ios 外观控制异常行为
我有一个具有自定义外观的UISegmentedControl,我相信我有所有必要的资源来获得正确的外观,并且在大多数情况下,外观是符合要求的,但是当我在释放之前点击其中一个片段时,片段的边缘,就在分割图像应该位于的位置,外观突然变得不正确。附件是一些截图,下面是我设置不同图像的代码:Ios 外观控制异常行为,ios,uisegmentedcontrol,Ios,Uisegmentedcontrol,我有一个具有自定义外观的UISegmentedControl,我相信我有所有必要的资源来获得正确的外观,并且在大多数情况下,外观是符合要求的,但是当我在释放之前点击其中一个片段时,片段的边缘,就在分割图像应该位于的位置,外观突然变得不正确。附件是一些截图,下面是我设置不同图像的代码: UIImage *segmentUnselectedBG = [[UIImage imageNamed:@"SegmentUnselectedBG"] resizableImageWithCapInsets
UIImage *segmentUnselectedBG = [[UIImage imageNamed:@"SegmentUnselectedBG"] resizableImageWithCapInsets:UIEdgeInsetsMake(3, 3, 3, 3)];
UIImage *segmentSelectedBG = [[UIImage imageNamed:@"SegmentSelectedBG"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 4, 4)];
UIImage *segmentDividerNoSelect = [[UIImage imageNamed:@"SegmentDividerNoSelect"] resizableImageWithCapInsets:UIEdgeInsetsMake(3, 3, 3, 3)];
UIImage *segmentDividerLeftSelect = [[UIImage imageNamed:@"SegmentDividerLeftSelect"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 4, 3)];
UIImage *segmentDividerRightSelect = [[UIImage imageNamed:@"SegmentDividerRightSelect"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 3, 4, 4)];
UIImage *segmentDividerBothSelect = [[UIImage imageNamed:@"SegmentDividerBothSelect"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 4, 4)];
[self.programControlsSegment setBackgroundImage:segmentUnselectedBG forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.programControlsSegment setBackgroundImage:segmentSelectedBG forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[self.programControlsSegment setDividerImage:segmentDividerNoSelect forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.programControlsSegment setDividerImage:segmentDividerLeftSelect forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.programControlsSegment setDividerImage:segmentDividerRightSelect forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[self.programControlsSegment setDividerImage:segmentDividerBothSelect forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
两段均未选定,外观正确:
选择左段,外观正确:
选择左段,用户按下左段,外观不正确
选择左段,用户按右段,外观不正确
选择右段,用户按左段,外观不正确
是否还有其他段状态需要设置分割图像
编辑:
这个问题似乎仅限于iOS 7中的行为。在此版本之前,当用户主动按下分段时,分段似乎没有不同的状态请仔细检查您的图像并尝试以下方法:。“这对我来说很好。@Brianlikeaple在使用diff工具将他的segmentedcontrol代码中给出的代码与我的代码进行比较后,唯一的区别是使用的名称和单个对象。我正在下载该项目,并查看资产中可能存在的差异是的,我也不明白您为什么会遇到这样的问题。我也想知道这里发生了什么。你仔细检查过你的照片了吗?或者你可以试试我之前提供的链接中的图片?如果没有问题,那么我们可以说您的图像出了问题:问题与iOS 7无关,在iOS 6.1中运行教程代码时,问题不会出现,但在iOS 7Cool中会出现!谢谢你可以自己回答你的问题并让我们知道。