2017-08-14 7 views
0

J'ai un UIRefreshControl dans mon UITableView. Je veux remplacer l'icône d'actualisation du système par la mienne. J'ai essayé juste en ajoutant une sous-vue à l'refreshControl comme si ...Remplacer UIRefreshControl avec UIImageView

let refreshImage = UIImageView() 
    refreshImage.image = UIImage(named: "RefreshIcon") 
    refreshControl.insertSubview(refreshImage, at: 0) 
    tableview.addSubview(refreshControl) 

Mais cela n'a pas fonctionné. Quelqu'un a-t-il une idée? Merci beaucoup!

+0

essayer refreshImage.frame = refreshControl.bounds, refreshControl.addSubview (refreshImage –

Répondre

0

S'il vous plaît essayer ce code:

let refreshImage = UIImageView() 
    refreshImage.image = UIImage(named: "RefreshIcon") 
    refreshControl.backgroundColor = UIColor.clear 
    refreshControl.tintColor = UIColor.clear 
    refreshControl.addSubview(refreshImage) 
    tableview.addSubview(refreshControl) 

puis de centrer vers le haut, vous pouvez utiliser ceci:

refreshImage.frame = refreshControl.bounds.offsetBy(dx: self.view.frame.size.width/2 - 20 // half the width of the refreshImage, dy: 10) 
    refreshImage.frame.size.width = 40 // Whatever width you want 
    refreshImage.frame.size.height = 40 // Whatever height you want 
+0

Ok, donc cela a fonctionné, mais l'image est étirée à travers l'écran. L'image est un carré. Donc, j'ai remplacé 'refreshImage.frame = refreshControl.bounds' avec' refreshImage.frame = CGRect (x: 0, y: 0, largeur: 20, hauteur: 20) '. Mais rien ne s'est montré lol. –

+0

ça fonctionne de mon côté quand je mets cette refreshImage.frame = CGRect (x: 0, y: 0, largeur: 20, height: 20), Cela montre le coin à l'en-tête rafraîchir. J'utilise l'image au format jpg @JacobCavin –

+0

Utilisez le nom de l'image avec un format comme RefreshIcon.png, Quel que soit votre format @JacobCavin –