iT邦幫忙

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

挑戰 30天內送審一支APP 系列 第 17

Segue 與 Navigation Controller (二) ( D day + 16 )

版型和轉場都完成後,接下來就是資料的設定以及傳遞。
我們的目的是要讓 user 點選 prototype Cell 後,會跳到相對應的 View 並且顯示資料(畫面) ,因此現在要在 RestaurantDetailViewController 建立資料。

  1. 加入IBOutlet
@IBOutlet var restaurantImageView:UIImageView!
    var restaurantImage = ""
  1. 將 restaurantImageView Outlet 與 view controller連結起來
    在RestaurantDetailViewController點滑鼠右鍵,將 Outlet -> ”RestaurantImageView ” 與 UIImage View 連結。

  2. 為 Segue加上一個識別碼。
    在 StoryBoard 先選取 “Segue”,然後到 Attributes Inspector 將 Navigation item -> title 改成 showRestaurantDetail

  1. 在 RestaurantTableViewcontroller.swift 中
//Send data to view controller from restaurantImage
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        //Check if the identifier is "ShowRestaurantDetail"
        if segue.identifier == "ShowRastaurantDetail" {
            if let indexPath = tableView.indexPathForSelectedRow {
                let destinationController = segue.destination as! RestaurantDetailViewController
                destinationController.restaurantImage = restaurantImages[indexPath.row]
            }
        }
    }
  1. 在 RestaurantDetailViewController.swift 中
override func viewDidLoad() {
        super.viewDidLoad()
        
        //add restaurantimage to Detail view controller
        restaurantImageView.image = UIImage(named:restaurantImage)
    }
  1. Result

上一篇
Segue 與 Navigation Controller (一) ( D day + 15 )
下一篇
糟糕!! 我初始的 ViewController不見了!! (D day + 17)
系列文
挑戰 30天內送審一支APP 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言