我想在每個集合視圖單元內放置一個UIActivityIndicatorView,因爲它下載圖像。我有它出現在每個單元格中,但它拒絕自己居中。它停留在左上角。我怎樣才能讓它正確居中?如何在UICollectionViewCell中集中UIActivityIndicatorView?
這裏是我如何做它:
extension UIView {
func showActivityIndicator(onView: UIView, withIndicator: UIActivityIndicatorView) {
withIndicator.frame = CGRect(x: onView.frame.midX - 20, y: onView.frame.midY - 20, width: 40, height: 40)
withIndicator.activityIndicatorViewStyle = .whiteLarge
withIndicator.center = onView.center
onView.addSubview(withIndicator)
withIndicator.startAnimating()
}
}
我調用該函數裏面cellForItemAtIndexPath像:
showActivityIndicator(onView: cell.contentView, withIndicator: activityInd)
但沒有我這樣做會從左上角移動。有什麼建議?
爲什麼你將一個視圖傳遞給一個擴展到'UIView'的方法?你應該把它命名爲'cell.contentView.showActivityIndicator(activityInd)',方法簽名應該是'func showActivityIndicator(_ indicatorView:UIActivityIndicatorView)'。然後,在方法中所有對'onView'的引用都應該用'self'替換。 – rmaddy
我發現網上很快,但好點,我改變了。謝謝! –