通过文件名更改UIImageView的颜色

麦克·洛弗

我正在尝试更改UIImageView颜色,颜色更改代码工作正常,但是我的问题是该方法应通过文件名动态更改图像的颜色:

更改帧图像:

- (IBAction)fr1:(id)sender {

    mainViewCont.frameImage.image = [UIImage imageNamed:@"sf1.png"];

}
- (IBAction)fr2:(id)sender {
    mainViewCont.frameImage.image = [UIImage imageNamed:@"sf2.png"];

}

改变色彩:

- (IBAction)frameColor:(UISegmentedControl *)sender {

    NSString *imageName ;

    for( int i = 0; i < 44 ; i++ ) {

        imageName = [NSString stringWithFormat:@"sf%d.png",i];


    switch (sender.selectedSegmentIndex) {

        case 0:
            mainViewCont.frameImage.image = [tintImage imageNamed:imageName withColor:[UIColor blackColor]];
            break;

        case 1:
               mainViewCont.frameImage.image = [tintImage imageNamed:imageName withColor:[UIColor whiteColor]];
            break;

        default:
            break;
        }

    }
}

现在的问题是图像的色调只有44号(最后一张)改变了!!当我按第24帧时,它无法识别出帧图像是数字24。

马蒂亚斯·鲍赫(Matthias Bauch)

在循环中,您将UIImageView的image属性设置了44次。这意味着您只能看到最后一张图像。您只需要更改已设置为图像的图像的颜色。

您应该在ViewController中添加两个实例变量。imageTintColorimageName

您必须添加一个名为的方法configureView该方法使用加载图像imageName并设置tintColor

在IBAction中选择图像,然后在其中保存图像名称imageName并调用configureView在segmentedControl操作中,将选定的颜色保存在中imageTintColor并调用configureView

基本上是这样的:

- (void)configureView {
    UIImage *image = [tintImage imageNamed:self.imageName withColor:self.imageTintColor];
    _frame.image = image;
}

- (IBAction)img1:(id)sender {
    self.imageName = @"sf1.png";
    [self configureView];
}

- (IBAction)img2:(id)sender {
     self.imageName = @"sf2.png";
    [self configureView];
}

- (IBAction)img3:(id)sender {
    self.imageName = @"sf3.png";
    [self configureView];
}

- (IBAction)changeColor:(UISegmentedControl *)sender {
    NSString *imageName ;
    for( int i = 1; i <= 3 ; i++ ) {

        imageName = [NSString stringWithFormat:@"sf%d.png",i];

        switch (sender.selectedSegmentIndex) {
            case 0:
                self.imageTintColor = [UIColor blackColor];
                break;

            case 1:
                self.imageTintColor = [UIColor whiteColor];
                break;

            default:
                break;
        }
    }
    [self configureView];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改文件名文本的颜色

来自分类Dev

浏览fileupload对象时如何更改文件名的颜色

来自分类Dev

更改文件名

来自分类Dev

通过循环更改文件名(字符串)-Java

来自分类Dev

通过第二行内容更改文件名

来自分类Dev

通过CURL上传-如何更改目标文件名?

来自分类Dev

Python文件名更改

来自分类Dev

更改海量文件名?

来自分类Dev

更改文件名,如何?

来自分类Dev

langast更改文件名

来自分类Dev

更改.fasta文件名

来自分类Dev

在PhpStorm的标签行中,哪里可以更改文件名的颜色?

来自分类Dev

可以通过更改可写属性描述符来更改JavaScript文件名吗?

来自分类Dev

有没有办法通过python中的文件类型更改csv文件名?

来自分类Dev

如何通过bat文件递归地更改文件名的大小写

来自分类Dev

如何通过在无限循环期间复制文件来更改文件名

来自分类Dev

通过文件名掩码获取文件

来自分类Dev

上传文件时更改文件名

来自分类Dev

通过Gradle上传到工件时如何更改jar文件名

来自分类Dev

如何通过文件名查找ProjectItem

来自分类Dev

通过网络响应维护文件名

来自分类Dev

如何通过URL传递文件名?

来自分类Dev

通过Tkinter检索多个文件名

来自分类Dev

如何通过URL传递文件名?

来自分类Dev

通过CMD获取文件名

来自分类Dev

通过宏定义文件名

来自分类Dev

通过bash的ftp列表文件名

来自分类Dev

NSSavePanel无法更改文件名

来自分类Dev

用于更改文件名的Applescript