我正在使用segemntController,
我正在为段的正常状态设置不同的不同图像,下面是我的代码
(void)viewdidLoad
{
NSArray *imageArray = [NSArray arrayWithObjects: [UIImage imageNamed:@"image1"],[UIImage imageNamed:@"image2"],[UIImage imageNamed:@"image3"],nil];
m_segmentController = [[UISegmentedControl alloc]initWithItems:imageArray];
m_segmentController.frame = CGRectMake(50, 10, 212, 30);
m_segmentController.segmentedControlStyle = UISegmentedControlStyleBar;
m_segmentController.selectedSegmentIndex = 0;
[m_segmentController setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[m_segmentController addTarget:self action:@selector(segmentSelected:)forControlEvents:UIControlEventValueChanged];
[self.navigationController.navigationBar addSubview:m_segmentController];
}
- (IBAction)segmentSelected:(id)sender
{
UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if(selectedSegment == 0)
{
[m_segmentController setImage:[UIImage imageNamed:@"image1.png"] forSegmentAtIndex:0];
}
else
{
[m_segmentController setImage:[UIImage imageNamed:@"image2png"] forSegmentAtIndex:1];
}
}
因此,当我启动我的应用程序时,segmentController看起来就是这样
但是当我选择任何片段时,所选图像不会填满整个片段,看起来像这样
如何解决这个问题,我出错了
此致 兰吉特
答案 0 :(得分:0)
您可以使用idevrecipes.com/2010/12/11/custom-segmented-controls/。
此链接有一些最佳自定义UISegmentControl
修改强> 的
对于您的问题,您必须使用自定义段控件。目前,您可以将图像设置为细分而非背景图像。
如果要使用默认的UISegment控件,则必须使用特定细分的大小制作精确尺寸的图像。然后你可以 通过设置细分的ContentOffSets来调整图片。