2015-01-01 24 views
5

onun çocuğu tableview yüksekliğine göre Scrollview yüksekliğini ayarlayın.bir Scrollview içinde bir tableview ile, sana bir viewController var SWIFT

Ben programlı tableview yüksekliğini güncellemeniz gerekir ve daha sonra, Scrollview yüksekliği (scrollview yüksekliği Tableview boyu bağlıdır).

-my View Controller 
    -View 
    -ScrollView 
     -Container View 
     -TableView 

Yani benim ViewController arasında viewDidAppear bu kodu yazmış: Ben konsolda işaretlerseniz, viewDidAppear tüm cellForRowAtIndexPath ÖNCE denir

override func viewDidAppear(animated: Bool) { 

    super.viewDidAppear(animated) 

    var frame:CGRect = self.tableView.frame 
    frame.size.height = tableView.contentSize.height 
    self.tableView.frame = frame 

    scrollView.contentSize=CGSizeMake(scrollView.frame.size.width, tableView.frame.origin.y + tableView.frame.height) 

} 

. Bu durumda, her şey istediğim gibi çalışır. Benim viewController yılında

, bir modalViewController açan bir düğme var. Bu modalViewController'da, masaüstümde yeni bir veri ekliyorum (yeni bir hücre).

ModalViewController'ı dismissViewControllerAnimated ile kapattığımda, viewDidAppear çağrılır ancak tüm cellForRowAtIndexPath SONRASI. ViewControler'ım düzgün görüntülenmiyor, tablo görünümü kırpıldı, tablomun altına kaydırılamıyorView. Kodum çalışmıyor.

Swift ve otomatik düzen ile çalışıyorum. görünümünüzü denetleyicisi bu çağıran

cevap

0

Dene:

automaticallyAdjustsScrollViewInsets = false 

Eğer

değişmesini istiyorsanız Interface Builder ayarlayabilirsiniz
İlgili konular