iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 11
1
Software Development

Swift零基礎實作旅遊景點app系列 第 11

Swift從零開始-Day11:開始進行旅遊app的規劃

  • 分享至 

  • xImage
  •  

分類:其他

  • 主題為Holiday app的學習,但因為下面的部分覺得視覺上排版較為雜亂,因此於下半部會改成其他app的格式來試著實做看看,並在途中若需要用到新的元件,會在學習過程中陸續穿插學習內容。
  • 另外此app為日本app(小弟不會日文),所以會進行改編。
  • 目標是能夠先把版型切出來,再陸續針對功能進行探討:
    • 改編後的版型會包含一個會動態切圖片的ImageView(配合Timer)、一個MapView(之後學習)、一個橫移的CollectionView,最後是重複Section的TableView(裡面放3種cell)。

開始試做介面:

  • 要在一個TableView裡面建立一個ImageView,並且讓圖片會隨時間移動。
    在這邊為了方便選擇使用TableView Controller,並在裡面加了一個ImageView,為什麼這邊要加在TableView子層而不與TableView同層的原因是如果加在子層可以配合滾動,加在同層這樣ImageView會卡在最上方。

  • 這邊把此cell的identifier設成imageCell,然後再新增一個TableViewCell的Class以及對應檔案,命名成ImageTableViewCell,類似之前提到過的TableViewCell的客製化。

  • 之後在ImageTableViewCell的裡面放入一圖片陣列,並命名一個變數初始值為0。

var sceneArray = ["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18"]
 var count = 0
  • 為了讓圖片可以隨時間切換,這邊要實作一個方法命名為autoChangeView
@objc func autoChangeView(){
        dynamicImageView.image = UIImage(named:sceneArray[count])
        count += 1
        if count == 17{
            count = 0
        }
    }
  • 利用Timer類別中的scheduledTimer方法來實現效果。
override func awakeFromNib() {
        super.awakeFromNib()
        Timer.scheduledTimer(timeInterval: 1.5, target: self, selector: #selector(autoChangeView), userInfo: nil, repeats: true)
    }

設定每1.5秒切換一張圖片,循環播放。
PS:這邊還要進行一些設定列高跟Cell高就不再說明。
結果會像這樣:


上一篇
Swift從零開始-Day10:UITableView延伸學習
下一篇
Swift從零開始-Day12:地圖功能基礎學習
系列文
Swift零基礎實作旅遊景點app30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
陳董 Don
iT邦新手 5 級 ‧ 2017-12-30 13:48:42

讚喔~

我要留言

立即登入留言