2016-06-27 13 views

答えて

1

あなたは、コードの下にautolayoutsを使用していない場合は動作します:

func adjustTableViewHeight() { 
     var height = tableView.contentSize.height 
     let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y 

     if height > maxHeight { 
      height = maxHeight 
     } 

     UIView.animateWithDuration(0.5) { 
      var frame = self.tableView.frame 
      frame.size.height = height 
      self.tableView.frame = frame 
     } 
    } 

あなたがautolayoutsを使用している場合、この使用:

func adjustTableViewHeight() { 
     var height = tableView.contentSize.height 
     let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y 

     if height > maxHeight { 
      height = maxHeight 
     } 

     UIView.animateWithDuration(0.5) { 
      //Assuming 'tableViewHeightConstraint` is an IBOutlet from your storyboard/XIB 
      self.tableViewHeightConstraint.constant = height 
      self.tableView.setNeedsUpdateConstraints() 
     } 
    } 
+0

はい!それは動作します!非常に非常にマッチありがとうございます! –

+1

それはあなたのために働いてうれしい!投票して回答として受け入れてください。 – Santosh

関連する問題