如何从原始位置轻触按钮使UIView向上滑动,只需按一下按钮即可将其重新拉下来?在swift Xcode中.到目前为止我只有这个,我不知道是否有人可以提供帮助.在swift xcode中6.欣赏回复.我目前试过这个.
@IBOutlet弱变量DynView:UIView!
@IBOutlet weak var DynView: UIView!
@IBAction func btnUp(sender: AnyObject) {
}
Run Code Online (Sandbox Code Playgroud)
Thi*_*aes 40
您必须在点击时实现更改DynView位置的动画.这是一个例子:
@IBAction func btnUp(sender: AnyObject) {
let xPosition = DynView.frame.origin.x
let yPosition = DynView.frame.origin.y - 20 // Slide Up - 20px
let width = DynView.frame.size.width
let height = DynView.frame.size.height
UIView.animateWithDuration(1.0, animations: {
dynView.frame = CGRect(x: xPosition, y: yPosition, width: width, height: height)
})
}
Run Code Online (Sandbox Code Playgroud)
嗨创建这个扩展,如果你想.对于斯威夫特
创建文件Extends.Swift并添加此代码
/**
Extension UIView
by DaRk-_-D0G
*/
extension UIView {
/**
Set x Position
:param: x CGFloat
by DaRk-_-D0G
*/
func setX(#x:CGFloat) {
var frame:CGRect = self.frame
frame.origin.x = x
self.frame = frame
}
/**
Set y Position
:param: y CGFloat
by DaRk-_-D0G
*/
func setY(#y:CGFloat) {
var frame:CGRect = self.frame
frame.origin.y = y
self.frame = frame
}
/**
Set Width
:param: width CGFloat
by DaRk-_-D0G
*/
func setWidth(#width:CGFloat) {
var frame:CGRect = self.frame
frame.size.width = width
self.frame = frame
}
/**
Set Height
:param: height CGFloat
by DaRk-_-D0G
*/
func setHeight(#height:CGFloat) {
var frame:CGRect = self.frame
frame.size.height = height
self.frame = frame
}
}
Run Code Online (Sandbox Code Playgroud)
For Use(继承UIView)
inheritsOfUIView.setX(x: 100)
button.setX(x: 100)
view.setY(y: 100)
Run Code Online (Sandbox Code Playgroud)
我将两个投票最多的答案合并为一个,并更新为Swift 3.所以基本上创建了一个扩展,动画视图移动到不同的位置:
extension UIView {
func slideX(x:CGFloat) {
let yPosition = self.frame.origin.y
let height = self.frame.height
let width = self.frame.width
UIView.animate(withDuration: 1.0, animations: {
self.frame = CGRect(x: x, y: yPosition, width: width, height: height)
})
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55243 次 |
最近记录: |