分享图片,我将其从屏幕上滑下来。
现在发生的事情是:
如果我取消活动:
我需要什么:
我该怎么做?
这是我的代码:
let activityViewController = UIActivityViewController(activityItems: [imageToShare], applicationActivities: nil)
self.present(activityViewController, animated: true, completion: {
print("presented")
//self.grids.center = self.offScreenPosition
print("position share is \(self.grids.center)")
})
switch deviceOrientation {
case "portrait":
activityViewController.completionWithItemsHandler = {(UIActivityType: UIActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) in
if !completed {
print("cancelled")
self.moveViewVertically(.backIn, range: self.verticalRange)
}
if completed {
print("completed")
self.moveViewVertically(.backIn, range: self.verticalRange)
}
}
case "landscape":
activityViewController.completionWithItemsHandler = {(UIActivityType: UIActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) in
if !completed {
print("cancelled")
self.moveViewHorizontally(.backIn, range: self.horizontalRange)
}
if completed {
self.moveViewHorizontally(.backIn, range: self.horizontalRange)
}
}
default:
break
}
印刷品可以看到发生了什么。 这是我的第一个应用程序。 谢谢你的帮助。
答案 0 :(得分:0)
您希望视图在activityViewController解除之前移回吗?你可以尝试这个:自定义UIActivity的子类,然后
- (void)performActivity {
// move your view back in
[self activityDidFinish:YES];
}
答案 1 :(得分:0)
问题解决了。
在moveView
方法中,我写了center.y -= 1
来移动视图。即在期望范围内的迭代。
现在我做:
UIView.animate(withDuration: 0.5) {
self.grids.transform = CGAffineTransform(translationX: 0, y: -self.view.frame.height)}
它按预期工作。