ios - 在 UIView 中阻止移动
问题描述
我创建自己的自定义菜单。它按应有的方式移出,但只要您开始移动,例如向右或向左或向上,此 UIView 的角是可见的。如何使视图仅向右和向左移动?代码在图片下方
@objc private func handlePan(recognizer: UIPanGestureRecognizer) {
guard let piece = recognizer.view else { return }
let translation = recognizer.translation(in: piece.superview)
let velocity = recognizer.velocity(in: piece.superview)
switch recognizer.state {
case .began:
print("began translation:\(translation) \(velocity)")
self.initialCenter = piece.center
case .changed:
print("changed translation:\(translation) \(velocity)")
let newCenter = CGPoint(x: initialCenter.x + translation.x, y: initialCenter.y + translation.y)
piece.center = newCenter
case .ended:
print("ended translation:\(translation) \(velocity)")
default:
print("default")
}
}
@objc func didTapMenuButton() {
navigationController?.isNavigationBarHidden = true
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: .curveEaseInOut) {
self.containerView.frame.origin.x = self.isSlideInMenuPresented ? 0 : self.containerView.frame.width - self.slideInMenuPadding
} completion: { (finished) in
self.isSlideInMenuPresented.toggle()
}
}
解决方案
推荐阅读
- javascript - JS - 有没有办法显示剪贴板文本?
- sql-server-2016 - SQL:不能存在有“或”吗?
- websphere - 如何解决 websphere 9.0.0.2 慢的问题
- wordpress - 谁能告诉我 SSH 重置所有 WordPress 文件和权限的命令是什么?
- postgresql - postgresql 和子查询作为列(重复行)
- ruby-on-rails - Ruby 不对 if 块中的 nil 类执行操作
- dns - 如何通过对流量管理器 + AppGW + 应用服务的后续运行的错误请求来解决失败的管道运行?
- linux - 依次运行多个 bash 脚本
- python - 如何有效地将 CSV 文件中的值排序到多个列表中?
- oracle - 如何加密sqlplus报告的源代码