Показать вид снизу с параметрами - PullRequest
0 голосов
/ 13 марта 2019

Когда я перемещаюсь к определенному контроллеру представления, я хочу представление снизу с такими параметрами, как ...

Как я могу иметь такое представление ...?enter image description here

РЕДАКТИРОВАТЬ 1

Я пытался добиться, как указано в ссылке, используя вместо таблицы вид таблицыпредставление коллекции.И это то, что у меня есть ...

enter image description here

И перетаскивание вида дает мне это представление ...

enter image description here

Но я прихожу к представлению, я не хочу, чтобы представление «сдвиг вверх» охватывало всю длину представления, но оно должно быть только того размера, который указан в1-й скриншот.Как я могу достичь этого ..?

1 Ответ

1 голос
/ 14 марта 2019

Если вы используете тот же проект github, который я разместил в комментарии.

Сначала удалите мусор: Файл -> TDStickyView

  1. Розетки

    @IBOutlet weak var viewLeft: UIView!
    @IBOutlet weak var viewRight: UIView!
    private var angel : CGFloat = 0
    
  2. С func viewSetup

    :
    :
    // DELETE THESE 2 LINES AND THESE FUNC TOO.
    self.setCursors()  
    self.rotateView(addAngel: 0)
    
  3. С handleGesture

    if aNewOrigin.y <= 60 {
        self.rotateView(addAngel: .pi/8)
    }
    else if aNewOrigin.y >= 60 && aNewOrigin.y < self.frame.height - 100 {
        self.rotateView(addAngel: 0)
    }
    else {
        self.rotateView(addAngel: -.pi/8)
    }
    

Теперь добавьте ограничения для cursorView,

  1. для левого курсора

enter image description here

  1. для правого курсора

enter image description here

Теперь проект стабилен, и давайте поговорим о ваших требованиях.

  1. Изменить размер tableView при инициализации.

В viewSetup изменить

//topMostY = UIApplication.shared.statusBarFrame.height
topMostY = parentVC.view.center.y
// It is the top most Y position of tableview and it can't go above it. Change it according to your requirement.
  1. Полностью скрыть TableView.

В handleGesture изменить

else if sender.state == .ended {
    self.panGestureColView.isEnabled = false
    if velocity.y > 0 {
        // go down
        // UIView.animate(withDuration: 0.3) {
        //     self.frame = CGRect(origin: CGPoint(x: 0, y: self.parentFrame.size.height - self.bottomMostY), size: self.frame.size)
        // }

        // Change above commented UIView.animate with below UIView.animate

        UIView.animate(withDuration: 0.3, animations: {
            self.frame = CGRect(origin: CGPoint(x: 0, y: self.parentFrame.size.height), size: self.frame.size)
        }) { (isFin) in
            self.removeFromSuperview()
        }

    }
    else if velocity.y < 0 {
        // go up
        UIView.animate(withDuration: 0.3) {
            self.frame = CGRect(origin: CGPoint(x: 0, y: self.topMostY), size: self.frame.size)
        }
    }
}

Вот и все.

...