質問編集履歴
4
こーど修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -414,7 +414,7 @@
|
|
414
414
|
|
415
415
|
|
416
416
|
|
417
|
-
// 一つ前のラベル qlabels[c-1] を利用して座標をずらす方法
|
417
|
+
// 一つ前のラベル qlabels[c-1] を利用して座標をずらす方法
|
418
418
|
|
419
419
|
for c in 0..<qlabels.count {
|
420
420
|
|
3
コード修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Swift3にて、UILabelを縦に並べて表示させた場合に、文字列が多いなどで改行させてラベルの高さを動的に可変させた場合に、それ以降に並んだラベルの座標位置を自動的にずらす方法を模索しているのですが、苦戦しております。
|
2
2
|
|
3
3
|
|
4
4
|
|
2
コード修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
```ここに言語を入力
|
2
|
-
|
3
|
-
コード
|
4
|
-
|
5
1
|
```Swift3にて、UILabelを縦に並べて表示させた場合に、文字列が多いなどで改行させてラベルの高さを動的に可変させた場合に、それ以降に並んだラベルの座標位置を自動的にずらす方法を模索しているのですが、苦戦しております。
|
6
2
|
|
7
3
|
|
@@ -354,6 +350,10 @@
|
|
354
350
|
|
355
351
|
|
356
352
|
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
357
|
■ 回答を参考に修正したコード
|
358
358
|
|
359
359
|
```Swift3
|
1
コード修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
+
```ここに言語を入力
|
2
|
+
|
3
|
+
コード
|
4
|
+
|
1
|
-
Swift3にて、UILabelを縦に並べて表示させた場合に、文字列が多いなどで改行させてラベルの高さを動的に可変させた場合に、それ以降に並んだラベルの座標位置を自動的にずらす方法を模索しているのですが、苦戦しております。
|
5
|
+
```Swift3にて、UILabelを縦に並べて表示させた場合に、文字列が多いなどで改行させてラベルの高さを動的に可変させた場合に、それ以降に並んだラベルの座標位置を自動的にずらす方法を模索しているのですが、苦戦しております。
|
2
6
|
|
3
7
|
|
4
8
|
|
@@ -343,3 +347,99 @@
|
|
343
347
|
|
344
348
|
|
345
349
|
```
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
■ 回答を参考に修正したコード
|
358
|
+
|
359
|
+
```Swift3
|
360
|
+
|
361
|
+
// 文字数が30より多い場合は改行させて、ラベルのheightを高くする
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
// offsetYを利用して座標をずらす方法
|
366
|
+
|
367
|
+
var offsetY: CGFloat = 0
|
368
|
+
|
369
|
+
for c in qlabels {
|
370
|
+
|
371
|
+
c.frame.origin.y += offsetY
|
372
|
+
|
373
|
+
if (c.text?.characters.count)! > 30 {
|
374
|
+
|
375
|
+
c.numberOfLines = 0
|
376
|
+
|
377
|
+
c.frame.size.height += 20
|
378
|
+
|
379
|
+
offsetY += 20
|
380
|
+
|
381
|
+
c.frame = CGRect(x: 20, y: c.frame.origin.y, width: 335, height: c.frame.size.height)
|
382
|
+
|
383
|
+
}
|
384
|
+
|
385
|
+
}
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
// maxYを利用して座標をずらす方法
|
392
|
+
|
393
|
+
var maxY: CGFloat = 60
|
394
|
+
|
395
|
+
for c in qlabels {
|
396
|
+
|
397
|
+
c.frame.origin.y = maxY
|
398
|
+
|
399
|
+
if (c.text?.characters.count)! > 30 {
|
400
|
+
|
401
|
+
c.numberOfLines = 0
|
402
|
+
|
403
|
+
c.frame.size.height += 20
|
404
|
+
|
405
|
+
c.frame = CGRect(x: 20, y: maxY, width: 335, height: c.frame.size.height)
|
406
|
+
|
407
|
+
}
|
408
|
+
|
409
|
+
maxY = c.frame.maxY
|
410
|
+
|
411
|
+
}
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
// 一つ前のラベル qlabels[c-1] を利用して座標をずらす方法
|
418
|
+
|
419
|
+
for c in 0..<qlabels.count {
|
420
|
+
|
421
|
+
qlabels[0].frame.origin.y = 60
|
422
|
+
|
423
|
+
if c > 0 {
|
424
|
+
|
425
|
+
qlabels[c].frame.origin.y = qlabels[c-1].frame.maxY
|
426
|
+
|
427
|
+
}
|
428
|
+
|
429
|
+
if (qlabels[c].text?.characters.count)! > 30 {
|
430
|
+
|
431
|
+
qlabels[c].numberOfLines = 0
|
432
|
+
|
433
|
+
qlabels[c].frame.size.height += 20
|
434
|
+
|
435
|
+
qlabels[c].frame = CGRect(x: 20, y: qlabels[c-1].frame.maxY, width: 335, height: qlabels[c].frame.size.height)
|
436
|
+
|
437
|
+
}
|
438
|
+
|
439
|
+
}
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
```
|