如何使UIView從原始位置輕輕按動一個按鈕,然後只需按一下按鈕就可以使其滑下來?在迅速的Xcode。我到目前爲止只有這個,我不知道有沒有人可以幫忙。在迅速xcode 6.欣賞的答覆。 我目前試過這個。UIView快速更改其位置
@IBOutlet weak var DynView:UIView!
@IBAction func btnUp(sender: AnyObject) {
}
如何使UIView從原始位置輕輕按動一個按鈕,然後只需按一下按鈕就可以使其滑下來?在迅速的Xcode。我到目前爲止只有這個,我不知道有沒有人可以幫忙。在迅速xcode 6.欣賞的答覆。 我目前試過這個。UIView快速更改其位置
@IBOutlet weak var DynView:UIView!
@IBAction func btnUp(sender: AnyObject) {
}
您必須實施一個動畫來改變點擊時的DynView位置。這裏有一個例子:
@IBAction func btnUp(sender: AnyObject) {
let xPosition = DynView.frame.origin.x
//View will slide 20px up
let yPosition = DynView.frame.origin.y - 20
let height = DynView.frame.size.height
let width = DynView.frame.size.width
UIView.animateWithDuration(1.0, animations: {
dynView.frame = CGRectMake(xPosition, yPosition, height, width)
})
}
嗨創建此擴展如果你想。 對於斯威夫特
創建文件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
}
}
使用說明(繼承了的UIView)
inheritsOfUIView.setX(x: 100)
button.setX(x: 100)
view.setY(y: 100)
我還挺合併兩個最投票答案到一個和更新到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)
})
}
}
OK OK。我現在看到蒂亞戈..它給我一個錯誤只是一兩件事:的CGRect不converitble到UIView的 – Joseandy10 2014-09-05 22:21:04
嘗試dynView.frame = CGRectMake(xPosition位置,yPosition ,高度,寬度) – derdida 2014-09-05 22:44:28
// Derdida感謝它取消了錯誤,但是當我運行應用程序,並點擊了我的向上按鈕它崩潰,並在我的appdelegate即時通訊接收「線程1:信號SIGABRT」考慮我有一個並在此視圖中向下按鈕 – Joseandy10 2014-09-05 22:52:21