मैं जोड़ने के लिए कोशिश कर रहा हूँ UICollectionView
करने के लिए ViewController
, और मैं कोशिकाओं के बीच रिक्त स्थान के बिना 3 कोशिकाओं 'पंक्ति प्रति' की आवश्यकता है (यह एक ग्रिड की तरह दिखना चाहिए)। सेल की चौड़ाई स्क्रीन के आकार का एक तिहाई होनी चाहिए, इसलिए मैंने सोचा कि layout.item
चौड़ाई समान होनी चाहिए। लेकिन फिर मुझे यह मिलता है:
यदि मैं उस आकार ( 7 या 8 पिक्सेल जैसे) को कम कर देता हूं , तो यह बेहतर है, लेकिन पंक्ति में तीसरा सेल पूरी तरह से दिखाई नहीं देता है, और मेरे पास अभी भी वह रिक्त स्थान (ऊपर और नीचे, और बाएं और दाएं) है।
class ViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {
var collectionView: UICollectionView?
var screenSize: CGRect!
var screenWidth: CGFloat!
var screenHeight: CGFloat!
override func viewDidLoad() {
super.viewDidLoad()
screenSize = UIScreen.mainScreen().bounds
screenWidth = screenSize.width
screenHeight = screenSize.height
// Do any additional setup after loading the view, typically from a nib
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 0, bottom: 10, right: 0)
layout.itemSize = CGSize(width: screenWidth / 3, height: screenWidth / 3)
collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
collectionView!.dataSource = self
collectionView!.delegate = self
collectionView!.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "CollectionViewCell")
collectionView!.backgroundColor = UIColor.greenColor()
self.view.addSubview(collectionView!)
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 20
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollectionViewCell", forIndexPath: indexPath) as CollectionViewCell
cell.backgroundColor = UIColor.whiteColor()
cell.layer.borderColor = UIColor.blackColor().CGColor
cell.layer.borderWidth = 0.5
cell.frame.size.width = screenWidth / 3
cell.frame.size.height = screenWidth / 3
cell.textLabel?.text = "\(indexPath.section):\(indexPath.row)"
return cell
}
}