DefaultCellの場合
一番簡単なのが画像を同じサイズにリサイズするやり方なので
以下のリサイズ方法を参考にしました。
【Swift】UIImageをリサイズする
swift
1func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
2 let cell = UITableViewCell(style: .Default,reuseIdentifier: "Q")
3 cell.textLabel!.text = place[indexPath.row]
4
5 // Imageをリサイズする CGSizeMake(50, 50) の縦横サイズは指定してください。
6 let image = img[indexPath.row]
7 cell.imageView!.image = image.resize(CGSizeMake(50, 50))
8 cell.textLabel!.font = UIFont(name: "HirakakuProN-W6",size: 13)
9 return cell
10}
swift
1// UIImage Extension リサイズメソッド
2
3extension UIImage {
4
5 func resize(size: CGSize) -> UIImage {
6 let widthRatio = size.width / self.size.width
7 let heightRatio = size.height / self.size.height
8 let ratio = (widthRatio < heightRatio) ? widthRatio : heightRatio
9 let resizedSize = CGSize(width: (self.size.width * ratio), height: (self.size.height * ratio))
10 // 画質を落とさないように以下を修正
11 UIGraphicsBeginImageContextWithOptions(resizedSize, false, 0.0)
12 drawInRect(CGRect(x: 0, y: 0, width: resizedSize.width, height: resizedSize.height))
13 let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
14 UIGraphicsEndImageContext()
15 return resizedImage
16 }
17}
CustomCellの場合(CellにUIImageViewを配置)
以下のコードを入れることでImageViewの中に収まる様になります。
swift
1// これは縦横比を維持したままImageViewに収まるように縮小する設定です。
2cell.imageView!.contentMode = .ScaleAspectFit
こちらのサイトを参考にいろいろ調節してみてください。
知っていると便利な UIView の contentMode(Objective-C)
swift
1// Swiftでは以下の様に定義されています。
2
3public enum UIViewContentMode : Int {
4 case ScaleToFill
5 case ScaleAspectFit
6 case ScaleAspectFill
7 case Redraw
8 case Center
9 case Top
10 case Bottom
11 case Left
12 case Right
13 case TopLeft
14 case TopRight
15 case BottomLeft
16 case BottomRight
17}