第十一章 静态单元格

本项目是《beginning iOS8 programming with 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。
剩下的类似,如下图:

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. 实现点击第一格单元格,选择照片:

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修改:
选择完照片后,控制器状态栏文字颜色变了。实现下面方法修复:

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

提高:
实现保存按钮的方法(数据验证,保存,关闭控制器),切换YES/NO按钮的颜色
需要用到下面的方法:performSegueWithIdentifier(“unwindToHomeScreen”, sender: self)

时间: 2024-08-12 08:04:19

第十一章 静态单元格的相关文章

iOS开发UI篇—简单介绍静态单元格的使用

iOS开发UI篇-简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果,有几种方法: (1)可以直接利用代码,返回三组,在判断每组有多少行,展示些什么数据,这样写"死"的代码建议绝不要使用. (2)稍微灵活一些的,可以把plist文件一懒加载的方式,加载到程序中,动态获取.但是观察界面结构,很容易看出这样需要进行模型嵌套,很麻烦. (3)storyboard提

UIKit框架(22)UITableView之静态单元格

表格控制器 UITableViewController是UIViewController的子类 控制器中包含一个UITableView视图属性: @property(nonatomic, retain) UITableView *tableView UITableViewController遵循UITableView的数据源协议.代理协议 并且属性tableView的数据源.代理均被设置为控制器. 表格视图的刷新控件: @property(nonatomic, retain) UIRefresh

Swift - 使用TableView的静态单元格进行页面布局

通过使用静态单元格的列表,我们可以很方便的进行页面布局.下面通过一个“添加任务页面”来进行演示. 效果图如下: 实现步骤: 1,在storyboard中拖入一个TableViewController,同时创建一个对应的类(MyTabelViewController.swift)进行绑定. 2,选择表格,在属性面板中设置Content为Static Cells,Sections设置为2 3,选中第1个Sections,将Rows设置为1,并拖入一个TextFiled到单元格中 4,选中第2个Sec

TableView静态单元格实现

整理TableView静态单元格的使用方法 需要实现的页面: 基本框架就是四个静态单元格,在此整理一下TableView的使用细节. 1.首先创建一个group,此内有两个类,一个是AccountBoundingViewController,继承自UIViewController:一个是AccountBoundingViewCell,继承自UITableViewCell. 2.先在xib中构造cell,内容如下: 由一个ImageView,一个Label,一个Button组成(在此并没有设定co

第二章 自定义单元格

本项目是<beginning iOS8 programming with swift>中的项目学习笔记==>全部笔记目录 ------------------------------------------------------------------------------------------------------------------ 1.    修改单元格style为custom,选中TableView设置Row Height为80,选中单元格,设置Row Height为

[iOS基础控件 - 6.9.2] 静态单元格 QQ功能列表

使用storyboard设计静态的表格数据 A.实现步骤 1.控制器继承UITableViewController 2.在storyboard中使用TableViewController,删除原来的ViewController 3.设置class 4.设置新的View Controller为程序入口 5.设置TableView的Style为Grouped 6.设置TableView的Content为Static Cells,暂时设置Section为1(后面会解释原因) 7.设置Table Vie

【iOS 基础控件 - 12】 静态单元格 QQ功能列表

使用storyboard设计静态的表格数据 A.实现步骤 1.控制器继承UITableViewController 2.在storyboard中使用TableViewController,删除原来的ViewController 3.设置class 4.设置新的View Controller为程序入口 5.设置TableView的Style为Grouped 6.设置TableView的Content为Static Cells,暂时设置Section为1(后面会解释原因) 7.设置Table Vie

Asp.net导出Excel续章(自定义合并单元格,非Office组件)

结合上次写的导出Excel方法,这次上头要求我将列头进行一下合并 以前的效果: 改进后的效果: 在上篇文章中写到了Excel的导出方法,这次为了避免在生产环境中使用Office组件,服务器各种权限配置的麻烦,这次就不使用Office组件来生成Excel了. 上篇文章:Asp.net导出Excel(HTML输出) 关键代码如下图: 说道这里,其实主要思路已经很明显了. 在数据绑定结束后,重新绘制表头替换掉原来的表头就行了. TableCell自定义表头的时候是table标签的,很方便. 另外发现了

第二章:IOS Table表视图单元格简单介绍

单元格在Table里面也是很总要的一个部分,我们现在就来看看 1. 视图组成结构 图标.标题和副标题可以有选择地设置,扩展 视图可以内置或者自定义,其中内置的扩展视图是在枚举类型UITableViewCellAccessoryType中定义的 UITableViewCellAccessoryType 的常量枚举类型有以下几种: UITableViewCellAccessoryNone.没有扩展图标 UITableViewCellAccessoryDisclosureIndicator.扩展指示器