【发布时间】:2016-07-03 09:23:38
【问题描述】:
我在正在制作的应用程序中偶然发现了一个问题。我需要在按钮单击时以编程方式将一个视图放入另一个视图。
现在我需要通过单击动画将视图 1 移动到视图 2 的中心。我试图将 View1 重新定位到 View 2,但我无法正确完成。
这是我想要达到的最终结果。
创建红色视图的代码
My.cellSnapshot = snapshopOfCell(cell)
var center = cell.center
My.cellSnapshot!.center = center
My.cellSnapshot!.alpha = 0.0
ingredientsTableView.addSubview(My.cellSnapshot!)
func snapshopOfCell(inputView: UIView) -> UIView {
UIGraphicsBeginImageContextWithOptions(inputView.bounds.size, false, 0.0)
inputView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext() as UIImage
UIGraphicsEndImageContext()
let cellSnapshot : UIView = UIImageView(image: image)
cellSnapshot.layer.masksToBounds = false
cellSnapshot.layer.cornerRadius = 0.0
cellSnapshot.layer.shadowOffset = CGSizeMake(-5.0, 0.0)
cellSnapshot.layer.shadowRadius = 5.0
cellSnapshot.layer.shadowOpacity = 0.4
return cellSnapshot
}
请帮我解决问题。
提前致谢
【问题讨论】:
-
你在使用自动布局吗?
-
@AndréSlotta 是的,我正在使用自动布局。视图 1 是一个以编程方式创建的视图。
-
试试
view1.center = view2.center -
您只是想让视图重叠吗?还是之后一个视图必须是另一个视图的子视图?能否请您展示如何在代码中创建红色视图?
-
这应该将视图移动 0.5 秒。 UIView.animateWithDuration(0.5,延迟:0.0,选项:UIViewAnimationOptions.CurveEaseOut,动画:{ redView.center = greenView.center },完成:无)
标签: ios swift uiview uiviewanimation