繁体   English   中英

如何在选择分段控件和未选择分段控件时设置图像?

[英]how to set an image when a segmented control is selected and one for unselected?

我有 3 个分段控件,我想在选择第一个分段控件时使用一个图像,在未选择第一个分段控件时使用一个图像……对其他两个分段控件执行相同操作,但显然使用不同的图像。 请帮忙!

向分段控件添加操作。

[segmentedControl addTarget:self action:@selector(segmentedControlClicked:) forControlEvents:UIControlEventValueChanged];

然后实现segmentedControlClicked:

-(void) segmentedControlClicked:(UISegmentedControl*) segmentedControl
{
    if(segmentedControl.selectedSegmentIndex == 0)
    { 
        NSLog(@"First selected");
    }
    else if(segmentedControl.selectedSegmentIndex == 1)
    {
         NSLog(@"Secondselected");
    }
    else if(segmentedControl.selectedSegmentIndex == 2)
    {
         NSLog(@"third selected"); 
    }
}

我为类似的问题写了这个。 也许你可以重复使用其中的一些。

// Create a segmented control.
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"up_button.png"] atIndex:0 animated:YES];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"down_button.png"] atIndex:1 animated:YES];
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.frame = CGRectMake(0, 0, 90, 30);
[segmentedControl setMomentary:YES];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

// Check if this is the first and / or the last page in order to enable or disable the back / forward button.
if ([recipesArray count] == 1) {
    [segmentedControl setEnabled:NO forSegmentAtIndex:0];
    [segmentedControl setEnabled:NO forSegmentAtIndex:1];
} else if ([currentIndex intValue] == 0) {
    [segmentedControl setEnabled:NO forSegmentAtIndex:0];
} else if ([currentIndex intValue]+1 == [recipesArray count]) {
    [segmentedControl setEnabled:NO forSegmentAtIndex:1];
}

// Initialize a bar button item with the segmented control as custom view and assign it to the right bar button item.
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
self.navigationItem.rightBarButtonItem = barButtonItem;

[segmentedControl release];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM