2016-05-24 8 views
1

は基本的に、私は、カラム表示では、そのようないくつかのテキストを一覧表示したい:iOSの列にテキストを表示するにはどうすればよいですか?

Item  Colour  Quantity 
Glasses  Black  3 

それはより多くのそれを読んだユーザーに向けて、ユーザ入力のためではありません。私はこれがラベルの使用によって達成できることを知っています、しかし、これは退屈になる傾向があります。私はテキストをWord文書に書いて、UITextViewにコピーして貼り付けようとしましたが、属性を使いこなしてしまいました。しかし、最後の "列"は常に問題を抱えているようです。

誰でも簡単にこれをやり遂げることができるだろうか?

P.S-私はおそらく10種類の "リスト"を持っています。

答えて

1

基本的に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から継承することを意味します!

potrait

landscape

0

あなたはグラフィックスコンテキストにテキストを描画することができます忘れないでください:

結果は次のようになります。読み込み専用テキストの場合、これは私が検討するオプションです。あなたのために働く別のオプションはtext containers in Text Kitです。

関連する問題