UITableViewCell に AutoLayout を利用したサブビューを追加した際に表示される警告の対処方法

  • AutoLayout を利用している
  • UITableViewCellcontentView にサブビューを追加している(Storyboard or コード)

上記のような環境で、ソースコードの警告、コンパイルエラーなどは起きないのですが、実行時に以下のような警告がでることがあります。

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 

制約の矛盾などが起きていない場合は、以下のように UITableViewCellcontentView に対する autoresizingMask を適切に設定してあげることで、警告が表示されなくなります。

self.contentView.autoresizingMask = .FlexibleHeight | .FlexibleWidth

(参考) http://stackoverflow.com/questions/19132908/auto-layout-constraints-issue-on-ios7-in-uitableviewcell