2016-04-23 20 views
1

私は以下のようにカスタムクラスを作成したtableviewcellを持っています。私はランタイム中に物事を変更しようとしているので、リンクされているセルの子要素の1つのフレームを更新しようとしましたが、サイズを変更しませんでした。何もUITableViewCellでサイズ変更しない

class Event_TableViewCell: UITableViewCell { 

    @IBOutlet weak var legTableHolder: UIView! 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     legTableHolder.frame = CGRect(x: 25, y: 25, width: 25, height: 25) 
     legTableHolder.backgroundColor = UIColor.blueColor() 
    } 
} 

UIViewの背景色が青に変化しないが、それの大きさはしていません。

+0

このチュートリアルを読んだことがありますか? https://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift少し古いですが、アドバイスはまだ役立つはずです。 –

+0

一般に、テーブルビューセルのサブビューのフレームを変更するだけでは、テーブルビュー内でその高さを変更することはできません。これを行うには、自動レイアウトの制約を変更することをお勧めします。これは、内容(例えば、UILabelなど)からその本質的なサイズを導出するサブビューを使用することによって間接的に行うこともできます。 –

答えて

0

自動レイアウトを使用している場合は、フレームを変更しても効果はありません。

代わりに、制約を変更する必要があります。

xibでは、最初のタブに移動し、Interface Builder DocumentでAuto Layoutボックスのチェックを外します。

+0

これは、すべてのコンポーネントまたはこの特定のuiviewのautolayoutを削除しますか? – user3916570

+0

これは奇妙です、通常私は自分のコードでフレームを変更するだけで動作します。私がawakeFromNibを変更して、uitableviewcellがその子コンテンツを変更しようとしているのは、この特定の場合だけです。 – user3916570

関連する問題