回答編集履歴

5

修正

2016/04/05 15:10

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  一番簡単なのが画像を同じサイズにリサイズするやり方なので
6
6
 
7
- 以下のリサイズ方法を参考にして出来ました。
7
+ 以下のリサイズ方法を参考にしました。
8
8
 
9
9
  [【Swift】UIImageをリサイズする](http://qiita.com/ryokosuge/items/d997389529faffab33ba)
10
10
 
@@ -88,9 +88,7 @@
88
88
 
89
89
 
90
90
 
91
- ![image1](d421fec7b8781b579ed6ca6d102f0298.png)
91
+ ![image](a114fb3f383a3af827552cbbc41a1a6a.png)
92
-
93
-
94
92
 
95
93
  以下のコードを入れることでImageViewの中に収まる様になります。
96
94
 
@@ -104,7 +102,7 @@
104
102
 
105
103
  ```
106
104
 
107
- ![image2](4557e49fcf045928090b71edf8e91d2e.png)
105
+ ![image](fde69dd676490b6f7fa91d162cce5d35.png)
108
106
 
109
107
 
110
108
 

4

修正

2016/04/05 15:10

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,10 +1,90 @@
1
+ DefaultCellの場合
2
+
3
+ ---
4
+
5
+ 一番簡単なのが画像を同じサイズにリサイズするやり方なので
6
+
7
+ 以下のリサイズ方法を参考にして出来ました。
8
+
1
- CustomCellで作成する前提で回答してしまいましたすみません。CustomCell以外の案がありましたらまた追記します。
9
+ [【Swift】UIImageをリサイズする](http://qiita.com/ryokosuge/items/d997389529faffab33ba)
2
10
 
3
11
 
4
12
 
5
- 推測ですが以下の様にImageViewからはみ出して表示されている、という前提で答えさせて頂きます。
6
13
 
14
+
15
+ ```swift
16
+
17
+ func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
18
+
19
+ let cell = UITableViewCell(style: .Default,reuseIdentifier: "Q")
20
+
21
+ cell.textLabel!.text = place[indexPath.row]
22
+
23
+
24
+
25
+ // Imageをリサイズする CGSizeMake(50, 50) の縦横サイズは指定してください。
26
+
27
+ let image = img[indexPath.row]
28
+
29
+ cell.imageView!.image = image.resize(CGSizeMake(50, 50))
30
+
31
+ cell.textLabel!.font = UIFont(name: "HirakakuProN-W6",size: 13)
32
+
33
+ return cell
34
+
35
+ }
36
+
37
+ ```
38
+
39
+
40
+
41
+ ```swift
42
+
43
+ // UIImage Extension リサイズメソッド
44
+
45
+
46
+
47
+ extension UIImage {
48
+
49
+
50
+
51
+ func resize(size: CGSize) -> UIImage {
52
+
53
+ let widthRatio = size.width / self.size.width
54
+
55
+ let heightRatio = size.height / self.size.height
56
+
57
+ let ratio = (widthRatio < heightRatio) ? widthRatio : heightRatio
58
+
59
+ let resizedSize = CGSize(width: (self.size.width * ratio), height: (self.size.height * ratio))
60
+
61
+ // 画質を落とさないように以下を修正
62
+
63
+ UIGraphicsBeginImageContextWithOptions(resizedSize, false, 0.0)
64
+
65
+ drawInRect(CGRect(x: 0, y: 0, width: resizedSize.width, height: resizedSize.height))
66
+
67
+ let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
68
+
69
+ UIGraphicsEndImageContext()
70
+
7
- 赤枠がImageViewのサイズです。
71
+ return resizedImage
72
+
73
+ }
74
+
75
+ }
76
+
77
+ ```
78
+
79
+ ![images](9acb4cc2e6498e689e8dcf317d48a02c.png)
80
+
81
+
82
+
83
+
84
+
85
+ CustomCellの場合(CellにUIImageViewを配置)
86
+
87
+ ---
8
88
 
9
89
 
10
90
 
@@ -12,9 +92,7 @@
12
92
 
13
93
 
14
94
 
15
- おそらくImageViewのサイズは変更されていないと思います(推測)
16
-
17
- なので以下のコードを入れることでImageViewの中に収まる様になります。
95
+ 以下のコードを入れることでImageViewの中に収まる様になります。
18
96
 
19
97
 
20
98
 

3

追記

2016/04/05 15:00

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,4 +1,4 @@
1
- CustomCellで作成する前提で回答してしまいましたすみません。代わりになる案CustomCell以外の案がありましたらまた追記します。
1
+ CustomCellで作成する前提で回答してしまいましたすみません。CustomCell以外の案がありましたらまた追記します。
2
2
 
3
3
 
4
4
 

2

修正

2016/04/05 13:53

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,3 +1,7 @@
1
+ CustomCellで作成する前提で回答してしまいましたすみません。代わりになる案CustomCell以外の案がありましたらまた追記します。
2
+
3
+
4
+
1
5
  推測ですが以下の様にImageViewからはみ出して表示されている、という前提で答えさせて頂きます。
2
6
 
3
7
  赤枠がImageViewのサイズです。

1

追記

2016/04/05 13:53

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  ```swift
18
18
 
19
- // これは縦横比を維持したままImageViewにるように縮小しています。
19
+ // これは縦横比を維持したままImageViewに収まるように縮小する設定です
20
20
 
21
21
  cell.imageView!.contentMode = .ScaleAspectFit
22
22
 
@@ -29,3 +29,43 @@
29
29
  こちらのサイトを参考にいろいろ調節してみてください。
30
30
 
31
31
  [知っていると便利な UIView の contentMode(Objective-C)](http://blog.fenrir-inc.com/jp/2011/05/uiviewcontentmode.html)
32
+
33
+
34
+
35
+ ```swift
36
+
37
+ // Swiftでは以下の様に定義されています。
38
+
39
+
40
+
41
+ public enum UIViewContentMode : Int {
42
+
43
+ case ScaleToFill
44
+
45
+ case ScaleAspectFit
46
+
47
+ case ScaleAspectFill
48
+
49
+ case Redraw
50
+
51
+ case Center
52
+
53
+ case Top
54
+
55
+ case Bottom
56
+
57
+ case Left
58
+
59
+ case Right
60
+
61
+ case TopLeft
62
+
63
+ case TopRight
64
+
65
+ case BottomLeft
66
+
67
+ case BottomRight
68
+
69
+ }
70
+
71
+ ```