私はuibuttonを押したときにUICollectionViewControllerをプッシュしたいと思います。私はいくつかのテストをして、私はそれを空のViewControllerにナビゲートするボタンを押します。pushViewController UICollectionviewControllerにuibuttonを使用するプログラムでSwift
ルートビューコントローラ(CategoryViewController)
class CategoryViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//UIButton
let image = UIImage(named: "menudo") as UIImage?
let button = UIButton(type: UIButtonType.Custom) as UIButton
button.frame = CGRectMake(100, 100, 100, 100)
button.setImage(image, forState: .Normal)
button.addTarget(self, action: #selector(CategoryViewController.action(_:)), forControlEvents:.TouchUpInside)
self.view.addSubview(button)
}
func action(sender: UIButton!) {
let layout = UICollectionViewLayout()
let collectionViewController = MealCollectionViewController(collectionViewLayout: layout)
navigationController?.pushViewController(collectionViewController, animated: true)
}
私は私がuibutton(MealCollectionViewController)を押したときに、こののViewControllerを表示したい
import Foundation
import UIKit
class MealCollectionViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
//Creating the CellId for reusable cell
private let cellId = "cellId"
override func viewDidLoad() {
super.viewDidLoad()
//Creating CollectionView
collectionView?.backgroundColor = UIColor.whiteColor()
//setting the cellId reusable to show on screen USE CATEGORY CELL BECAUSE MEALCOLLECTION VIEW IS NOT A CELL
collectionView?.registerClass(CategoryCell.self, forCellWithReuseIdentifier: cellId)
}
//Creating the layout for the cell
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) as! CategoryCell
return cell
}
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSizeMake(view.frame.width, view.frame.height)
}
}
strotyboradを使用してRU、またはXIB –
私が使用していますストーリーボード –
次に私のコードを試してください。あなたのボタンのクリック方法。 –