參考:30DaysofSwift
知識(shí)點(diǎn):UICollectionView
UIVisualEffectView
UICollectionViewDataSource
- 新建項(xiàng)目Carousel Effect
- 在IB構(gòu)建UI。Collection View 里的 Scroll Direction 設(shè)置成水平滾動(dòng)晴叨。
UIVisualEffectView
是用來(lái)添加模糊效果的屉符,也可以使用類似如下的代碼構(gòu)建:
let blurEffect = UIBlurEffect(style: .dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
backgroundImageView.addSubview(blurEffectView)
- 創(chuàng)建數(shù)據(jù)類
Interest
- 創(chuàng)建
UICollectionViewCell
- 實(shí)現(xiàn)
UICollectionViewDataSource
的方法(有點(diǎn)類似UITableViewDataSource)。
class ViewController: UIViewController, UICollectionViewDataSource {
@IBOutlet weak var backgroundImageView: UIImageView!
@IBOutlet weak var collectionView: UICollectionView!
var interests = Interest.createInterests()
override func viewDidLoad() {
super.viewDidLoad()
collectionView.dataSource = self
collectionView.dataSource = self
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return interests.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let CellIdentifier = "InterestCell"
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: CellIdentifier, for: indexPath) as! InterestCollectionViewCell
cell.interest = self.interests[indexPath.item]
return cell
}
}
詳細(xì)代碼: Carousel Effect