2016-11-22 63 views
0

我有一個高度增加/減少(隱藏和顯示UIDatePicker)的動畫。像它應該增加的作品,但我有一些問題正在減少。 UIDatePicker縮小並且動畫幾乎從頂部開始,接近過程結束,並且開始減少並且延遲。但如果包括延遲,它仍然需要增加。IOS錯誤的動畫顯示

Encreased的UIDatePicker

Encreased UIDatePicker

減少

Starting of decreasing

我viewWillLayoutSubviews的啓動()方法

override func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubviews() 
    frameDatePicker = remindDatePicker.frame 
    zeroFrameDatePicker = CGRect(x: (frameDatePicker?.origin.x)!, y: (frameDatePicker?.origin.y)!, width: (frameDatePicker?.width)!, height: 0) 
    if reminderSwitch.isOn { 
     remindDatePicker.frame = frameDatePicker! 
    } else { 
     remindDatePicker.frame = zeroFrameDatePicker! 
    } 
} 

我showDatePicker()動畫我的ThOD

func showDatePicker() { 
    UIView.animate(withDuration: animateTime, animations: { 
      self.remindDatePicker.frame = self.frameDatePicker! 
    }) 
} 

我hideDatePicker()動畫製作方法

func hideDatePicker() { 
    UIView.animate(withDuration: animateTime, animations: { 
     self.remindDatePicker.frame = self.zeroFrameDatePicker! 
    }) 
} 

回答

0

我懷疑是這裏真正的問題是,選擇器(如日期選擇器)並不打算具有零高度(或任何一個非常小身高,真的)。如果我是你,我會想到一個完全不同的方式來使這個選擇器進出現實存在。

蘋果確實在像日曆應用什麼是保持在正常的固定高度的選擇器,但擴展和收縮它的父,其clipsToBounds是真實的。因此,選擇器似乎成長和縮小,但它不是真的。

+0

我認爲'日曆'應用程序正在使用'UITableView'和'deleteRowAtIndex'動畫參數。 – Ryan

+0

@Ryan但是,這是如何工作的? _cell_縮小,而不是日期選擇器。 – matt

+0

日期選擇器必須是單元格內容視圖的子視圖。 – Ryan