IOS: изменение UIImageView с использованием значения тега

У меня 20 UIImageView, и я хочу изменить их образ; но я не хочу создавать 20 IBOutlet, и я хочу использовать значение тега для изменения изображения; Я установил значение тега в построителе интерфейса и после? Если я хочу изменить изображение в Imageview номер 15? Как я могу сделать?

Ответ 1

Если вы используете теги, вы можете идентифицировать свой тег-представление (UIImageView - это подкласс UIView, который имеет атрибут тега) следующим образом:

- (UIView *)viewWithTag:(NSInteger)tag

Итак, если вы вызываете этот метод в своем супервизоре (в котором находятся все UIImageViews), вы должны сделать это следующим образом:

UIImageView *myImageView = (UIImageView *)[myAwesomeSuperview viewWithTag:15];

(Documentation Я нашел с помощью Google).

P.S: если вы считаете, что слишком много работы, чтобы добавить 20 IBOutlets, я рекомендую вам также создавать UIImageViews. Таким образом вам вообще не понадобится xib файл, напишите небольшой фрагмент кода и получите лучшее обслуживание с меньшими усилиями.

Ответ 2

UIImageView *imageView=(UIImageView *)[self.view viewWithTag:*givetag*];
[imageView setImage:[UIImage imageNamed:@"nameof yourimage"]];

Ответ 3

SWIFT, апрель 2015:

func createUIImageViews()
{
    for i in 0...99
    {
        var imageView:UIImageView = UIImageView(frame: CGRectMake(CGFloat(0), CGFloat(0), CGFloat(100), CGFloat(100)))
        imageView.userInteractionEnabled = true
        imageView.tag = i
        imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "onImageViewTap:"))

        self.view.addSubview(imageView)
    }
}



func onImageViewTap(sender:UITapGestureRecognizer)
{
    println("TAP: \(sender.view!.tag)")
}