2017-03-09 19 views
1

私はアライメントの問題を抱えています。メッセージラベルはタイムスタンプの書き込みを維持し、ユーザー名は消えています。私は提案された制約を試しましたが、何も私のために働いていません。TableViewセルのアライメント

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 


     let cell = tableView.dequeueReusableCell(withIdentifier: "cell") 

     //Transform Data From^to load at the bottom 
     tableView.transform = CGAffineTransform (scaleX: 1,y: -1); 
     cell?.contentView.transform = CGAffineTransform (scaleX: 1,y: -1); 
     cell?.accessoryView?.transform = CGAffineTransform (scaleX: 1,y: -1); 

     //Set username label to display username 
     let usernameLabel = cell?.viewWithTag(1) as! UILabel 
     usernameLabel.text = generalRoomDataArr[indexPath.row].username 


     //Set message label to display message 
     let messageLabel = cell?.viewWithTag(2) as! UILabel 
     messageLabel.text = generalRoomDataArr[indexPath.row].message 
     messageLabel.numberOfLines = 0 

     //initialize UI Profile Image 
     let imageView = cell?.viewWithTag(3) as! UIImageView 

     //Make Porfile Image Cirlce 
     imageView.layer.cornerRadius = imageView.frame.size.width/2 
     imageView.clipsToBounds = true 

     //Set timeStampLabel to current time AGO 
     let timeStampLabel = cell?.viewWithTag(4) as! UILabel 
     timeStampLabel.text = generalRoomDataArr[indexPath.row].timeStamp 
     timeStampLabel.numberOfLines = 0 

     //Loading and change of Usesrs profile image on chat cell 
     let userProfileChatImage = generalRoomDataArr[indexPath.row].photoURL 

     //Load profile image(on cell) with URL & Alamofire Library 
     let downloadURL = NSURL(string: userProfileChatImage!) 
     imageView.af_setImage(withURL: downloadURL as! URL) 

     // your cell coding 
     return cell! 
    } 

Problem

StoryBoard

//TableView Cell word wrap (Dynamic Text) 
     self.tableView.dataSource = self 
     self.tableView.delegate = self 
     self.tableView.estimatedRowHeight = 78 
     self.tableView.rowHeight = UITableViewAutomaticDimension 

私も0にタイムスタンプのラベルを設定する必要がありますか?

messageLabel.numberOfLines = 0 
+1

あなたの表のセルのように見えるセルは、より多くのテキストのラベルに対応するために高さを調整していません。提供された写真の中で、彼らはすべて私と同じ大きさに見えます。 本当に問題が何であるかを確認するには、残りのテーブルビューコードと設定した制約を投稿してください。 – BJHStudios

+0

こちらをお読みください。 http://www.appcoda.com/self-sizing-cells/ –

+0

私はその記事を読んで、タイムスタンプを追加するまですべてがうまくいきます。 messageLabelと重複しないようにするためにはどのような制限がありますか? – codechicksrock

答えて

0

私は使用していて、約NSMutableAttributedString()のようにラベルを使用していました。どのように動作するかを説明するビデオやWebページがたくさんあります。特定の人が好きな人がいる場合は、コメント内でリンクすることができます!私はattributedStringUITextViewを使って、必要なもの(テキストベース)をすべて表示します。私はテキストで説明するのが難しいので、YouTubeでthisビデオ(12:00分から開始)まで延期します。さまざまな量のテキストに適合するUITableViewCellを作成する問題に取り組むには、特定の幅または高さの制約を持たないUITextViewをドラッグしたいと思うでしょう。これにより、セルで変更することができます。次に、あなたが持っているコードを使用して...

self.tableView.estimatedRowHeight = 78 
self.tableView.rowHeight = UITableViewAutomaticDimension 

セルが動的に変更されます。 IBでScrolling Enabledのチェックを外すだけでなく、Interface BuilderでisUserInteractionEnabled = false 2)のチェックを外しEditableSelectable(ストーリーボードを使用してUITextView

1)を無効にし、ユーザとの対話):この作業を取得するための1つのトリックは、次の手順を実行することです。

0

すでにそのスクリーンショットのすべての制約をキャプチャしている場合。私はあなたがの垂直間隔の制約タイムスタンプのラベルとメッセージのラベルの間に逃したと思います。この制約を追加した後、3つのラベルのうちの1つに対して垂直方向の圧縮抵抗とハギングの優先順位を変更する必要があります。私はメッセージラベルを減らすことをお勧めします。

+0

あなたが貢献した皆さんありがとう! :) – codechicksrock

関連する問題