[英]UIView.animateWithDuration in Swift 2.0?
在解釋我的問題之前,重要的是要說我已經實現了這個問題中提出的建議,我認為我對這個animateWithDuration
方法的疑慮是完全不同的,盡管兩個問題都有一個非常相似的標題。
所以,我是一個Swift新手,我正在Swift做一些小項目,基於我以前做過的之前的Objective C演示。
這是我的Objective C代碼:
- (void)moveSideBarToXposition: (int) iXposition{
[UIView animateWithDuration:0.5f
delay:0.1
options: UIViewAnimationOptionTransitionNone
animations:^{ self.mainView.frame = CGRectMake(iXposition, 20, self.mainView.frame.size.width, self.mainView.frame.size.height); }
completion:^(BOOL finished){
if (self.isSidebarHidden==YES) {
self.isSidebarHidden = NO;
}
else{
self.isSidebarHidden = YES;
}
}];
}
這是我的Swift版本:
func moveSideBarToXposition(iXposition: Float) {
UIView.animateWithDuration(0.5, delay: 1.0, options: UIViewAnimationTransition.None, animations: { () -> Void in
self.contentView.frame = CGRectMake(iXposition, 20, self.contentView.frame.size.width, self.contentView.frame.size.height)
}, completion: { (finished: Bool) -> Void in
if isMenuHidden == true {
isMenuHidden = false
} else {
isMenuHidden = true
}
})
}
我得到了這個錯誤。
無法使用類型'的參數列表調用'animateWithDuration'(Double,delay:Double,options:UIViewAnimationTransition,animations :() - > Void,completion:(Bool) - > Void)'
我閱讀了文檔,但實際上我不確定問題是什么。
順便說一句,我正在研究Xcode 7和Swift 2.0
您正在將類型為UIViewAnimationTransition
枚舉傳遞給需要類型為UIViewAnimationOptions
( options
參數)的參數
以下是具有正確枚舉值的正確語法:
func moveSideBarToXposition(iXposition: Float) {
let convertedXposition = CGFloat(iXposition)
UIView.animateWithDuration(0.5, delay: 1.0, options: UIViewAnimationOptions.TransitionNone, animations: { () -> Void in
self.contentView.frame = CGRectMake(convertedXposition, 20, self.contentView.frame.size.width, self.contentView.frame.size.height)
}, completion: { (finished: Bool) -> Void in
// you can do this in a shorter, more concise way by setting the value to its opposite, NOT value
isMenuHidden = !isMenuHidden
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.