構建iPad應用程序時,如何在UICollectionViewCell周圍繪製邊框?UICollectionViewCell邊框/陰影
更多細節:我實現了一個擴展UICollectionViewCell的類ProductCell。現在,我想分配一些花哨的細節,例如邊界,陰影等。但是,當試圖使用類似this here的東西時,Xcode告訴我接收器類型'CALayer'是前向聲明。
構建iPad應用程序時,如何在UICollectionViewCell周圍繪製邊框?UICollectionViewCell邊框/陰影
更多細節:我實現了一個擴展UICollectionViewCell的類ProductCell。現在,我想分配一些花哨的細節,例如邊界,陰影等。但是,當試圖使用類似this here的東西時,Xcode告訴我接收器類型'CALayer'是前向聲明。
只是爲了多一點的實現:
#import <QuartzCore/QuartzCore.h>
在your.m
確保您的班級實施
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath;
因爲這是單元格的設置。
然後,您可以更改cell.layer.background
(僅一次石英進口)
見下
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
MyCollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"pressieCell" forIndexPath:indexPath];
//other cell setup here
cell.layer.borderWidth=1.0f;
cell.layer.borderColor=[UIColor blueColor].CGColor;
return cell;
}
您需要包括框架QuartzCore
並導入到頭類:
#import <QuartzCore/QuartzCore.h>
更新了斯威夫特3
假設你有你的Collection View set up with the required methods ,你可以只寫幾行代碼來添加邊框。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! MyCollectionViewCell
cell.myLabel.text = self.items[indexPath.item]
cell.backgroundColor = UIColor.cyan
// add a border
cell.layer.borderColor = UIColor.black.cgColor
cell.layer.borderWidth = 1
cell.layer.cornerRadius = 8 // optional
return cell
}
注意
QuartzCore
如果您已經導入UIKit
。