今天稍微帶大家看一下 MainView 的版面設計,大部分都是前面幾天我們練習很多次的
就不特別介紹那些部分了
@IBOutlet weak var btnConfirm: UIButton!
@IBOutlet weak var AreaPickerView: UIPickerView!
我們依照選擇的資料為全台縣市設計一個列表儲存
let Area: [String] = [
"臺北市", "新北市", "基隆市", "桃園市", "新竹市", "新竹縣", "苗栗縣", "臺中市", "彰化縣",
"南投縣", "雲林縣", "嘉義市", "嘉義縣", "臺南市", "高雄市", "屏東縣", "宜蘭縣", "花蓮縣", "臺東縣", "澎湖縣", "連江縣", "金門縣"
] // 可選擇的縣市列表
var selectedArea: String? // 目前選擇的縣市
一樣包進去 ViewDidLoad 中
AreaPickerView.delegate = self
AreaPickerView.dataSource = self
// 預設選擇第一個城市
selectedArea = Area[0]
setUi()
PickerView 的 extension 設計大部分也跟之前設定 tableView 相似
extension MainViewController: UIPickerViewDelegate, UIPickerViewDataSource {
// 設定PickerView有1個轉輪
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
// 設定轉輪有幾個選項
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return Area.count
}
// 設定每個選項的標題
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return Area[row]
}
// 當選項改變時設定選中的城市
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
self.selectedArea = Area[row]
}
// 確認按鈕點擊事件
@IBAction func Confirm(_ sender: Any) {
if let selectedArea = selectedArea {
print("這是所選擇的地區 \(selectedArea)")
let areaVC = AreaViewController(nibName: "AreaViewController", bundle: nil)
areaVC.selectedArea = selectedArea
self.present(areaVC, animated: true, completion: nil)
} else {
print("沒有選擇地區")
}
}
}
今天稍微介紹版面設計的部分,明天教大家內部的功能怎麼設計!
@IBOutlet weak var TView: UITableView!
@IBOutlet weak var btnCity: UIButton!
@IBOutlet weak var lbCity: UILabel!
var selectedArea: String? // 選擇的城市名稱
var weatherData2: weatherData? // API回傳的天氣數據
TView.delegate = self
TView.dataSource = self
TView.register(UINib(nibName: "AreaTableViewCell", bundle: nil), forCellReuseIdentifier: "AreaTableViewCell")
func setUi() {
btnCity.setTitle("選擇城市", for: .normal)
lbCity.text = selectedArea
}