#16 swift animate 動畫練習(三)

UIButton.addTarget, animateKeyframes, addKeyframe, snapshot 使用。

這次,用程式碼製造UIView、UIImageView及UIButton

1製造一個藍色的alertView

2製造imageView ,並使它存在在alertView上面。

3製造button ,他在畫面的正中間,而且設置addTarget,加入點擊按鈕時的Action。

在第47行加入addTarget ,這個地方遇到問題:

Xcode系統一直提示 #selector是 objc的寫法,但我還不知道新的寫法,apple developer網站也沒有舉例,就暫時沿用。

這個方法的影響是必須在呼叫的function 前面多加 “@objc” ,如:

@objc func dismissAlert()

4設置動畫

設置第一動畫讓畫面縮小,並移至中間點

第二動畫是讓整個畫面下移,從畫面消失。

這樣的設置有一個問題,因為imageView也是在alertView內
但改面alertView的邊界,imageView並未同時縮小,動畫變得非常奇異。

5為了讓動畫正常顯示,我們用snapshot進行畫面截圖

截圖後,就好像把整個畫面都變成一個物件一樣
整個畫面就可以一起縮小了

snapshot後,把原先的alertView移除,避免雙重顯示。

6snapshot後的動畫程式碼

這時我們在模擬器啟動,動畫已可以照預期中顯示。

--

--

--

Wish me luck on the way become iOS app developer!

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Stephen Huang

Stephen Huang

Wish me luck on the way become iOS app developer!

More from Medium

A SWIFT Action

Asynchronous tasks in iOS (Swift)

Software Localization — How To Make It Work

Colawork is now officially listed on Slack App Directory