2015-07-10 5 views
1

У меня есть UIView внутри UITableView как этотUpdate UIView размер кадра внутри UITableView - быстрое

enter image description here

Проблема, когда я пытаюсь изменить размер высоты моего UIView программно, существующие клетки внутри UITableView не двигаться вверх
я был опробован обновления UITableview size,

UITableviewwrapperview 

, и я был обновление попробовать

TableView.contentInset 

TableView.contentOffset 

размер, удалите Auto Layout и Auto Layout, но все тот же результат.

это мой код:

@IBAction func SwitchChanged(sender: UISwitch) { 

     if sender.on { 
      self.ViewBOX.frame.size.height = self.ViewBOX.frame.size.height + 275 


      var Frame = self.TableView.tableHeaderView!.frame 
      Frame.size.height = self.ViewBOX.frame.size.height; 
      TableView.tableHeaderView?.frame = Frame 



     } else { 
      self.ViewBOX.frame.size.height = self.ViewBOX.frame.size.height - 275 


      var Frame = self.TableView.tableHeaderView!.frame 
      Frame.size.height = self.ViewBOX.frame.size.height; 
      TableView.tableHeaderView?.frame = Frame 

     } 

    } 

и это результат изображения

1: enter image description here

2: после обновления

enter image description here

Кто-то пожалуйста, помогите м и объясните, какую часть я пропустил.

благодаря

ответ

2

вам необходимо переназначить вид в заголовке таблицы каждый раз, когда вы изменить свой заголовок вид кадра.

YourView.frame = Frame 
TableView.tableHeaderView = YourView 

и удалить:

TableView.tableHeaderView?.frame = Frame 

Благодарности

1

Ваш код должен выглядеть следующим образом, если вы хотите изменить это в хорошем смысле.

@IBAction func SwitchChanged(sender: UISwitch) { 
    UIView.animateWithDuration(0.3, animations: { 
     if sender.on { 
      self.ViewBOX.frame.size.height = self.ViewBOX.frame.size.height + 275 
     } else { 
      self.ViewBOX.frame.size.height = self.ViewBOX.frame.size.height - 275 
     } 
     TableView.tableHeaderView = self.ViewBOX 
    }, completion: { 
    }) 
} 
Смежные вопросы