Commit 9059b233868b125f0e45cec653bf1874ecc80af6

Authored by “zhangxu@cnlive.com”
1 parent dc564c43

解决 短剧大图cell点击crash问题

metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNSlideBaseNavigationController.swift
... ... @@ -17,6 +17,9 @@ class CNSlideBaseNavigationController: UINavigationController
17 17 self.cellType = cellType
18 18  
19 19 }
  20 + override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
  21 + super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
  22 + }
20 23  
21 24 required init?(coder aDecoder: NSCoder) {
22 25 fatalError("init(coder:) has not been implemented")
... ...
metaCode/Classes/Main/HomePages/Controller/AuthController/CNLiveAuthViewController.swift
... ... @@ -246,7 +246,8 @@ class CNLiveAuthViewController:CNLiveBaseViewController,UITableViewDelegate,UITa
246 246 }else if slideModel.type == SlideModelTypeOneCourse75{
247 247 guard let cell = tableView.cellForRow(at: indexPath) as? CNDownSlideSingleCourseCell else { return }
248 248 selectedCell = cell
249   - let detailVC = CNSlideBaseNavigationController(rootViewController: CNUpSlideDetailViewController(cell: cell,slideModel: slideModel, cellType: cellType), cellType: cellType)
  249 + let detailViewC = CNUpSlideDetailViewController(cell: cell,slideModel: slideModel, cellType: cellType)
  250 + let detailVC = CNSlideBaseNavigationController(rootViewController: detailViewC, cellType: cellType)
250 251  
251 252 detailVC.dismissClosure = { [weak self] in
252 253 guard let StrongSelf = self else { return }
... ...
metaCode/Classes/Main/Util/CNUpSlideAnimationTransition.swift
... ... @@ -203,20 +203,26 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning {
203 203 let toVCNav = toVCTabbar.viewControllers?.first as! CNLiveBaseNavigationController
204 204 let toVC = toVCNav.viewControllers.first as! CNLiveAuthViewController
205 205 guard let selectedCell = toVC.selectedCell else { return }
206   - let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController
207   -
208   - UIView.animate(withDuration: transitonDuration - 0.3, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: {
209   - let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view)
210   - fromVC.view.frame = frame
211   - fromVC.view.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius
212   - fromVC.scrollView.imageView.frame.size.width = GlobalConstants.todayCardSize.width
213   - fromVC.scrollView.imageView.frame.size.height = GlobalConstants.todayCardSize.height
214   - fromVC.closeBtn.alpha = 0
215   -
216   - }) { (completed) in
217   - transitionContext.completeTransition(completed)
  206 + if fromNaviVC.topViewController is CNUpSlideDetailViewController{
  207 + let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController
  208 + UIView.animate(withDuration: transitonDuration - 0.3, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: {
  209 + let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view)
  210 + fromVC.view.frame = frame
  211 + fromVC.view.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius
  212 + fromVC.scrollView.imageView.frame.size.width = GlobalConstants.todayCardSize.width
  213 + fromVC.scrollView.imageView.frame.size.height = GlobalConstants.todayCardSize.height
  214 + fromVC.closeBtn.alpha = 0
  215 +
  216 + }) { (completed) in
  217 + transitionContext.completeTransition(completed)
  218 + }
  219 + }else if fromNaviVC.topViewController is CNLiveShortVideoViewController{
  220 + let fromVC = fromNaviVC.topViewController as! CNLiveShortVideoViewController
  221 + transitionContext.completeTransition(true)
  222 + }else{
  223 + print("")
218 224 }
219   -
  225 +
220 226 }
221 227  
222 228 }
... ...