2016-11-22 15 views
0

高さが増減するアニメーション(UIDatePickerを非表示にする)があります。それが好きなように仕事を増やしてください、しかし私は減少することといくつかの問題があります。 UIDatePickerは縮小し、アニメーションはプロセスの終わり近くのほぼ一番上から開始し、遅れて減少し始めます。しかし、遅れが含まれていれば、それと同じ時間がかかります。IOSのアニメーションが正しく表示されない

Starting of decreasing

マイviewWillLayoutSubviewsを減少させる

Encreased UIDatePicker

Encreased UIDatePicker

開始()メソッド

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()私をアニメーションマイhideDatePicker()アニメーション法

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

答えて

0

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

をTHOD私はここでの本当の問題は、ピッカー(日付ピッカー)がゼロの高さ(またはいずれかの非常に小さなを有することが意図されていないことであると思われます高さ、本当に)。私があなただったら、このピッカーを目に見える存在の中に入れて出すという全く別の方法を考えています。

AppleがCalendarアプリケーションのような機能を果たしているのは、ピッカーを通常の固定された高さに保ちますが、clipsToBoundsが真であるスーパービューを拡大縮小します。したがって、ピッカーは、拡大縮小するためにと思われますが、実際にはそうではありません。

+0

私は、 'Calendar'アプリがアニメーションparamで' UITableView'と 'deleteRowAtIndex'を使っていると思っていました。 – Ryan

+0

@ライアンしかし、どうしたの? _cell_は縮小され、日付ピッカーは縮小されません。 – matt

+0

日付ピッカーは、セルのコンテンツビューのサブビューでなければなりません。 – Ryan

関連する問題