基本的に3つの可能性があります。
1)あなたはUICollectionViewを取るか、
3)それをラベル
2を使用して試してみて)いくつかのUITableViews側の側では
私は同じ問題を抱えていたと私は一緒に行くことにしましたオプション1)
入力として2d文字列配列が必要なメソッドを作成します。 デバイスのScreenSizeを決定します。
ここで、2つのforループを作成して配列を反復処理します。 ラベルを作成して変更します。
for i1 in 0..<textName.count
{
var columnArray = [UILabel]()
for i2 in 0..<textName[i1].count
{
columnArray.append((UILabel(frame: CGRectMake(CGFloat((Int(screenWidth)/9) * i2 - Int(screenWidth/128)), (CGFloat(30 * i1) - modifyY), CGFloat(Int(screenWidth)/8), 30))))
columnArray[i2].text = textName[i1][i2]
columnArray[i2].textAlignment = NSTextAlignment.Center
私はさらに2つの異なる色で行を構成して、読み易さを向上させました。
if i1 == 0
{
columnArray[i2].backgroundColor = UIColor(red: CGFloat(1), green: CGFloat(0.35), blue: CGFloat(0.35), alpha: CGFloat(1))
} else {
if self.rowSwitcher
{ columnArray[i2].backgroundColor = settings.vari.color1 as? UIColor}
else
{ columnArray[i2].backgroundColor = settings.vari.color2 as? UIColor}
}
self.scrollViewMain.addSubview(columnArray[i2])
}
if i1 != 0
{
if self.rowSwitcher
{ self.rowSwitcher = false }
else
{ self.rowSwitcher = true }
}
self.columnArray1.append(columnArray)
}
self.columnArrayActive = false
コードのこの部分は、既にリストを作成したが、ラベルの値を更新する必要がある場合に使用されます。
} else {
for i3 in 0..<textName.count
{
for i4 in 0..<textName[i3].count
{
self.columnArray1[i3][i4].text = textName[i3][i4]
}
}
}
}
}
は、あなたはそれが仕事を得るために、いくつかのグローバルまたはクラス変数を定義する必要があります。
1)columnArray1:[[UILabel]]
2)columnArrayActive:ブール
3)scrollViewMain :UIScrollView!
Interface BuilderでUIScrollViewの画面を作成します。 次に、制約を作成します。 その後、あなたのクラスへの参照を作成してのviewDidLoadに、あなたは追加:
scrollViewMain = self.delegate
これはもちろん、あなたのクラスのニーズがUIScrollViewDelegateから継承することを意味します!