カレンダーをめくるみたいなペロっとするアニメーションとか。
四角をつくってボタン配置、メソッドを追加して終わり。
【手順】
① VIewController.swift に下記コードをコピペ
import UIKit
class ViewController: UIViewController {
let redSquare = UIView()
override func viewDidLoad() {
super.viewDidLoad()
self.redSquare.frame = CGRect(x: 100, y: 100, width: 200, height: 200)
self.redSquare.backgroundColor = UIColor.redColor()
self.view.addSubview(redSquare)
}
@IBAction func Button(sender: AnyObject) {
let transitionOptions = UIViewAnimationOptions.TransitionCurlUp
UIView.transitionWithView(self.redSquare, duration: 1.0, options: transitionOptions, animations: { }, completion: { finished in })
}
}
② UIButtonをドラッグ&ドロップして真ん中らへんに配置。
ソースコードの@IBActionの左側に ◯があるので、ドラッグして
Main.storyboardのButtonに接続する。
(やり方がわからない人は基本操作を覚える)
【解説】
めんどくさいので省略。
ビルドしてButtonをおせば赤い四角がペロってなるはず。
ならない人はごめんなさい。
let transitionOptions = UIViewAnimationOptions.TransitionCurlUp の最後のTransitionCurlUpとかいうヤツがそのペロって機能らしくて、いくつか種類があるらしい。
.TransitionFlipFromLeft
.TransitionCrossDissolve
.TransitionFlipFromTop
などに変更して効果を確認してみるのも面白いかもしれない。
詳しくはよくわからないですが、Objective-Cができる人なら楽勝。
追記:IBActionを下記コードに変えるとボタンを押した時に10秒かけて右に150pxスライドして動く。正しいやり方なのかどうなのかわかんないです。
@IBAction func Button(sender: AnyObject) {
UIView.animateWithDuration(10) {
self.redSquare.center = CGPointMake(self.redSquare.center.x + 150, self.redSquare.center.y )
}
}