我的自定义UISegmented控件具有[针对每个州]的背景图像。 如何在图像上方添加文字[对于每个州,这意味着当选择索引0时我会有特定的颜色和字体]?
以下是我的UISegmented控件的外观:
UISegmentedControl *customUISC=[[UISegmentedControl alloc] initWithItems:[[[NSMutableArray alloc] initWithObjects:@"ON",@"OFF",nil] autorelease]];
[customUISC setFrame:CGRectMake(11,14,298,28)];
customUISC.selectedSegmentIndex=0;
customUISC.segmentedControlStyle=UISegmentedControlStyleBar;
[customUISC setImage:[UIImage imageNamed:@"FirstTabActive.png"] forSegmentAtIndex:0];
[customUISC setImage:[UIImage imageNamed:@"SecondTab.png"] forSegmentAtIndex:1];
[customUISC addTarget:self action:@selector(checkOnOffState:) forControlEvents:UIControlEventValueChanged];
,checkOnOffState方法如下:
-(IBAction)checkOnOffState:(id)sender{
UISegmentedControl *iSeg=(UISegmentedControl *)sender;
if(iSeg.selectedSegmentIndex==0){
[iSeg setImage:[UIImage imageNamed:@"FirstTabActive.png"] forSegmentAtIndex:0];
[iSeg setImage:[UIImage imageNamed:@"SecondTab.png"] forSegmentAtIndex:1];
}
else {
[iSeg setImage:[UIImage imageNamed:@"FirstTab.png"] forSegmentAtIndex:0];
[iSeg setImage:[UIImage imageNamed:@"SecondTabActive.png"] forSegmentAtIndex:1];
}
}
答案 0 :(得分:1)
我不确定我是否完全明白你所追求的是什么,但你能否只使用UILabels(位于图像上方)。然后,您可以使用myLabel.text和myLabel.textColor轻松更改颜色和文本。
希望这在某种程度上有所帮助!