第十一章 靜態單元格

本項目是《beginning iOS8 programming with swift》中的項目學習筆記==》所有筆記目錄html

------------------------------------------------------------------------------------------------------------------swift

1.    拖一個table view控制器,修改單元格content爲static cells,修改rows爲5。
2.    第一格:修改高度爲250,拖一個image view,設置image爲camera,mode爲Aspect Fit。
3.    第二格:修改高度爲72,拖一個Label,設爲Name,拖一個text field,設置placeholder爲Restaurant Name。
剩下的相似,以下圖:
ide

5. 包一個導航控制器,設置title爲New Restaurant。
6. 在主控制器的導航欄上拖一個bar button item,設置identifier爲Add,連線到上面的控制器(Modal,identifier爲addRestaurant)。
7. 在New Restaurant的導航欄左邊拖一個bar button item,設置文字爲Cancel。
8. 在主控制器中增長一個unwind方法,綁定到Cancel按鈕:
學習

 

@IBAction func unwindToHomeScreen(segue:UIStoryboardSegue) {
}

9. 新建一個繼承自UITableViewController的控制器類AddTableViewController,並關聯到IB。
10. 去掉numberOfSectionsInTableView方法和numberOfRowsInSection方法(咱們用靜態單元格)。
11. 實現點擊第一格單元格,選擇照片:
spa

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if indexPath.row == 0 {
        if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary) {
            let imagePicker = UIImagePickerController()
            imagePicker.allowsEditing = false
            imagePicker.sourceType = .PhotoLibrary // 或者.Camera
            imagePicker.delegate = self
           
            self.presentViewController(imagePicker, animated: true, completion: nil)
        }
    }
   
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

12. 獲取選中圖片:
增長一個Outlet,並關聯IB:@IBOutlet weak var imageView: UIImageView!
控制器遵照兩個協議:UIImagePickerControllerDelegate, UINavigationControllerDelegate。實現代理方法:
代理

func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
    imageView.image = image
    imageView.contentMode = .ScaleToFill
    imageView.clipsToBounds = true
   
    dismissViewControllerAnimated(true, completion: nil)
}

13. Bug修改:
選擇完照片後,控制器狀態欄文字顏色變了。實現下面方法修復:
code

func navigationController(navigationController: UINavigationController!,
    willShowViewController viewController: UIViewController!, animated: Bool) {
    UIApplication.sharedApplication().setStatusBarStyle(.LightContent, animated: false)
}

提升:
實現保存按鈕的方法(數據驗證,保存,關閉控制器),切換YES/NO按鈕的顏色
須要用到下面的方法:performSegueWithIdentifier(unwindToHomeScreen, sender: self)    orm

相關文章
相關標籤/搜索