2016-11-05 8 views
1

私はtableviewを使用しています。私は1つのセルを使用して多数のcolumns.My列番号を作成していますので、cellForRowAt関数内でforループを使用して列を作成する必要がありました。私のセル内の私のラベルの間にいくつかのスペースを与えます。このコードは、ラベルの先頭にスペースを挿入しますが、ラベルの最後を削除します。Unicode非改行スペースが削除されました。

 let spaces = String(repeating:"\u{00A0}",count : columnSpaceCount) 
     if globalSubviewHeaderStructArray[i].type == "numeric"{ 
      if globalSubviewHeaderStructArray[i].digitsAfterComma != "0" { 
       var dataNumber = applyComma(comma : globalSubviewHeaderStructArray[i].digitsAfterComma , data : globalSubviewDataArray[indexPath.row][i]) 
       var newString = "\(spaces)\(checkCurrency(option: globalSubviewHeaderStructArray[i].currency, data: dataNumber))\(spaces)" 
       newLabel.text = newString 
      }else{ 
       var newString = "\(spaces)\(checkCurrency(option: globalSubviewHeaderStructArray[i].currency, data: globalSubviewDataArray[indexPath.row][i]))\(spaces)" 
       newLabel.text = newString 
      } 
     }else{ 
      var newString = "\(spaces)\(checkCurrency(option: globalSubviewHeaderStructArray[i].currency, data: globalSubviewDataArray[indexPath.row][i]))\(spaces)" 
      newLabel.lineBreakMode = .byTruncatingMiddle 
      newLabel.text = newString 
     } 
+0

は、なぜあなたはラベルテキストの末尾にスペースが必要なのでしょうか? – rmaddy

+0

ユーザーはラベルの表示を変更することができます。たとえば、アライメントやフォントや色を変更することができます。左に約2つのラベルを置き、右に1つ、左に1つ並べます。 .btw列の幅はデータの長さと同じになりますので、列幅を広くすることはできません。 – theduman

+0

WenあなたはWord文書を編集するにはスペースバーを使用しますか?または、余白のサイズなどを更新しますか...ここでは行いません。 @mattのように、以下のようにラベルの周りにマージンを入れて配置などを修正します。 – Fogmeister

答えて

3

私は、ラベルの内容をいじっによってこれをしないでください、私の細胞内の私のラベル

の間にいくつかのスペースを与えたいです。ラベルそのものの位置/サイズを混乱させることによってそれを行います。 のラベルの間に実際ののスペース(空のピクセル)を挿入します。

+0

あなたは正しいと思います。私はあなたのやり方で感謝の男を試してみます。 – theduman

0

UITableViewCellの範囲にUILabelsのスペースを挿入するには、StoryboardまたはコードのAutolayout Contraintsを設定します。目標とするiOSのバージョンによっては、StackViewUILabelsを埋め込むのが最も簡単な方法ですが、iOS> = 8でのみ利用できます。

選択ラベル:

選択Embed in - >Stack View

設定間隔:

はまた、あなたのニーズにStackViewためのcontraintsを設定します。

enter image description here

関連する問題