2017-11-09 16 views
0

私はUIlabel sizeToFit()メソッドで予期しない動作に直面しています。今私はLayoutIfNeed()と呼ばれるイベントをnumberOfLines = 0にしようとしました。しかし、誰も働いていません。この質問に与えられたUIlabel Sizetofit予期しない動作

私でも試した方法:Vertically align text to top within a UILabel

しかし、再びなしで助けました。私は多くの制約がありません、私はちょうど自動サイズ変更ピンを使用しています。私は制約なしで、あるいは自動サイズ変更なしでそれを試しました。

私はこのラベルをTableViewCellとCollectionReusableViewに設定しました。 awakeFromNib()でそれを呼び出すだけでは影響しません。

UIcollectionReusableViewコード:

override func awakeFromNib() { 
    super.awakeFromNib() 


    label.sizeToFit() 

    label.numberOfLines = 0 
    label.layer.shadowOffset = CGSize(width: 0, height: 0) 
    label.layer.shadowOpacity = 3 
    label.layer.shadowRadius = 8 

} 

は制約:

enter image description here

TableViewCellコード:

override func layoutSubviews() { 
    super.layoutSubviews() 

// this is the UIview on which the label is put on. 
    contentView.layoutIfNeeded() 

} 


override func awakeFromNib() { 
    super.awakeFromNib() 
    // This is the label has the issue 
    caption.sizeToFit() 

} 

の制約:

enter image description here

はまた、テキストビューは、別のラベルとstackviewのconstrainstに積層されているラベルには、次のとおりです。ここ

enter image description here

は一例です:

enter image description here

ちょうどうまくいかないようです。私は全く考えていない。

ご協力いただきまして誠にありがとうございます。

+2

実際のコードを投稿すると、誰かがあなたを手伝ってくれるようにすることができます。意味のあるアドバイスを提供するのに十分な情報がありません。 – Dima

+0

更新の質問。その他の情報は必要ですか? –

+0

ラベルの作成方法を投稿することはできますか?ストーリーボードを使用しているのか、それともコードで作成していますか? –

答えて

1

テキストがラベルに追加された後ではなく、sizeToFit()を呼び出す必要があります。