「Ios/swift/CollectionView」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==CollectionViewControllerとは== 画像リストなどを作成できるUIController ==3列画像表示のサンプル== -storyboard #class名を"ThumbListViewControll...」) |
(→3列画像表示のサンプル) |
||
(同じ利用者による、間の1版が非表示) | |||
行4: | 行4: | ||
==3列画像表示のサンプル== | ==3列画像表示のサンプル== | ||
-storyboard | -storyboard | ||
+ | #UICollectionViewControllerのオブジェクトをstoryboardへドラッグ | ||
#class名を"ThumbListViewController"へ | #class名を"ThumbListViewController"へ | ||
#storyboardIdを"ThumbListViewControllerId"へ | #storyboardIdを"ThumbListViewControllerId"へ | ||
#minSpacing(画像間の距離)を行・列ともに10から0へ | #minSpacing(画像間の距離)を行・列ともに10から0へ | ||
− | |||
-ThumbListViewController.swift | -ThumbListViewController.swift | ||
行44: | 行44: | ||
-CustomThumbCollectionViewCell.swift | -CustomThumbCollectionViewCell.swift | ||
− | class CustomThumbCollectionViewCell: UICollectionViewCell { | + | class CustomThumbCollectionViewCell: UICollectionViewCell { |
@IBOutlet weak var customImageView: UIImageView! | @IBOutlet weak var customImageView: UIImageView! | ||
func setCell(imgpath: String) { | func setCell(imgpath: String) { | ||
行50: | 行50: | ||
customImageView.clipsToBounds = true // はみ出た部分をトリム | customImageView.clipsToBounds = true // はみ出た部分をトリム | ||
} | } | ||
− | } | + | } |
2016年8月3日 (水) 00:08時点における最新版
CollectionViewControllerとは
画像リストなどを作成できるUIController
3列画像表示のサンプル
-storyboard
- UICollectionViewControllerのオブジェクトをstoryboardへドラッグ
- class名を"ThumbListViewController"へ
- storyboardIdを"ThumbListViewControllerId"へ
- minSpacing(画像間の距離)を行・列ともに10から0へ
-ThumbListViewController.swift
import UIKit class ThumbListViewController: UIViewController ,UICollectionViewDataSource, UICollectionViewDelegate { private var _imgs: [String] = [] override func viewDidLoad() { super.viewDidLoad() } func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell{ let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CustomCell", forIndexPath: indexPath) as! CustomThumbCollectionViewCell let img: String = _imgs[indexPath.row] cell.setCell(img) return cell } func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return _imgs.count } // 画像の大きさを端末幅の1/3へ func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { let width: CGFloat = view.frame.width / 3 - 2 let height: CGFloat = width return CGSize(width: width, height: height) } // Cell が選択された場合 func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { let id: Int! = _imgs[indexPath.row].id if id != nil { let img: String = _imgs[indexPath.row] } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
-CustomThumbCollectionViewCell.swift
class CustomThumbCollectionViewCell: UICollectionViewCell { @IBOutlet weak var customImageView: UIImageView! func setCell(imgpath: String) { customImageView.image = UIImage(named:imgpath) customImageView.clipsToBounds = true // はみ出た部分をトリム } }