如何使用分段控制来改变背景图像

时间:2014-01-24 09:51:04

标签: ios iphone

如何使用UIsegmentedcontrol更改背景图像?

我想使用分段控件更改背景图像,并在为上述过程选择该图像之后。

4 个答案:

答案 0 :(得分:2)

你必须将Target添加到分段控制器中 然后,当您点击任何片段时,您的“动作”方法将被调用,更改背景图片或在“动作”方法中执行任何操作

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

方法实现应该

-(void)action:(id)sender
{
   //code for setting background image.
}

答案 1 :(得分:2)

以下是UISegmentedControl文档的链接。

修改

也许我误解了你的问题。如果要更改视图的背景图像,可以将控制器添加为分段控件的目标。

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

当您的控件触发UIControlEventValueChanged时,您可以使用以下任何方法更改所需的背景图像。

- (void)updateBackgroundImage:(UISegmentedControl *)sender {
    self.imageView = [UIImage imageNamed:(sender.selectedSegmentIndex ? @"foo": @"bar")];
}

原始答案

您将找到该文档,您可以通过不同方式更改控件的外观。几个例子。

-[UISegmentedControl setBackgroundImage:forState:barMetrics:]
-[UISegmentedControl dividerImageForLeftSegmentState:rightSegmentState:barMetrics:]
-[UISegmentedControl setImage:forSegmentAtIndex:]

当您的控件触发UIControlEventValueChanged时,您可以使用以下任何方法更改发件人的外观。

答案 2 :(得分:0)

将IBAction设置为具有UIControlEventValueChanged事件类型的细分栏,并根据所选索引更改imageView图像

-(IBAction)segmentedChartButtonChanged:(id)sender
{
    switch (self.segmentedButton.selectedSegmentIndex) {
        case 0:
            self.imageView.image = [UIImage imagenamed:@"imageName"];
            break;
        case 1:
            self.imageView.image = [UIImage imagenamed:@"imageName"];
            break;
        default:
            break;
    }
}

答案 3 :(得分:0)

尝试这个..可能它会帮助你..

首先取UIImageView并设置其中的IBOutlet并给出像Backgroundimg这样的名称并添加Segment值更改方法并在xib中设置出口到Imageview并将方法出口设置为UISegmentControl。

//.h file

IBOutlet UIImageView *Backgroundimg;

-(IBAction)SegmentChanged:(id)sender;

只需在.m文件中添加以下代码

即可
//.m file

-(IBAction)SegmentChanged:(id)sender
{
    UISegmentedControl *seg=(UISegmentedControl *)sender;
    if(seg.selectedSegmentIndex==0)
    {
        [Backgroundimg setImage:[UIImage imageNamed:@"intro1.png"]];
    }
    else if(seg.selectedSegmentIndex==1)
    {
        [Backgroundimg setImage:[UIImage imageNamed:@"intro2.png"]];
    }
}