В первом разделе кода, который вы перечислили, у вас есть:
[self.view insertSubview:carte1J1 atIndex:1];
Во втором разделе у вас есть:
[viewJoueur1 addSubview:carte1J1];
Итак, вы добавили cartelJ1 в два представления, если я правильно понимаю.
Затем вы скрываете одно из этих двух представлений, но self.view все еще видно, и оно содержит cartelJ1, поэтому cartelJ1 все еще видно.
Пожалуйста, поправьте меня, если я неправильно понимаю ваш код ...