第三章 点击单元格

本项目是《beginning iOS8 programming with swift》中的项目学习笔记==》全部笔记目录

------------------------------------------------------------------------------------------------------------------

实现点击cell弹出alertController

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let alert = UIAlertController(title: nil, message: "What do you want to do?", preferredStyle: .ActionSheet)

    // 取消项
    let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)

    // 打电话项
    let callAction = UIAlertAction(title: "Call " + "123-000-\(indexPath.row)", style: .Default) { (action) -> Void in
        let alertMessage = UIAlertController(title: "Service unavailable", message: "Sorry, the call feature is unavailable yet.", preferredStyle: .Alert)

        let okAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
        alertMessage.addAction(okAction)
        self.presentViewController(alertMessage, animated: true, completion: nil)
    }

    // 是否来过
    let isVisitedAction = UIAlertAction(title: "I‘ve been here", style: .Default) { (action) -> Void in
        let cell = tableView.cellForRowAtIndexPath(indexPath)
        cell?.accessoryType = .Checkmark
    }

    alert.addAction(cancelAction)
    alert.addAction(callAction)
    alert.addAction(isVisitedAction)

    self.presentViewController(alert, animated: true, completion: nil)
}

效果图:

问题及提高:

1. 现在check了一个cell后,滚动TableView,由于单元格复用,Check会乱掉。提示:使用一个[Bool]数组成员变量记录是否需要check,可以解决。

2. 使用心形图标替换checkmark。 提示:iconImageView.hidden = false

时间: 2024-10-31 14:33:47

第三章 点击单元格的相关文章

点击单元格清除默认值并且能够设置输入字体颜色

点击单元格清除默认值并且能够设置输入字体颜色: 在很多情况下,文本框内有默认文字,一般都是提示类的文字,当点击文本框的时候能够清除写文字,下面就简单介绍一下如何实现此效果.代码如下: <!DOCTYPE HTML> <html> <head> <meta charset=" utf-8"> <title>javascript便利表格</title> <script type="text/javasc

鼠标点击单元格显示在相应文本框中的方法(单元格事件)

1 //点击单元格显示此行相应内容 2 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 3 { 4 // 找到鼠标点击的行 5 int index = e.RowIndex; 6 DataGridViewRow currenRow = this.dataGridView1.Rows[index]; 7 //找到每一个单元格的值 8 this.textBox2.Text=

GridView控件点击单元格如何获取该列的列标题

本博文Insus.NET教你实现在GridView控件中,用mouse点击某单元格之后,希望能获取到该列的列标题. 创建一个网页,创建一个GridView控件: 去cs绑定数据给GridView控件: 下面我们需要写注册click事件,以便获取被点击的行或列索引.在网页中override Render()方法,为cell添加attributes “onclick”事件. 现在我们需要为GridView控件添加一个事件,添加一个Label,用来显示所获取的列名.去.aspx的html markup

去除FineReport报表点击单元格时出现的黑框

选择模版->模版web属性 添加加载结束事件,具体代码如下 $("td").bind("click",function(){return false;}); 保存即可

单元格的三种定制方式

AppDelegate.m MainViewController *mainCtrl = [[MainViewController alloc] initWithStyle:UITableViewStylePlain]; UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:mainCtrl]; self.window.rootViewController = na

UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效

#import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UIGestureRecognizerDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView * v = [[UIView alloc] init

Swift - 实现点击UITableView单元格时自动展开单元格

下面是一个列表单元格cell的折叠展开效果的demo.当点击单元格时会展开该单元格,便于显示一些详情什么的.点击其他单元格原来的会关闭,同时有动画效果. 效果如如下:   代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

UIView加入手势 然后UITableView 加入进这个View 导致UITableView 的单元格点击事件无效

#import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UIGestureRecognizerDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView * v = [[UIView alloc] init

IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态

以下是两种实现效果 1. 自定义cell 继承UITableViewCell 重写 -(void)setSelected:(BOOL)selected animated:(BOOL)animated { } -(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { } 里面不写任何东西 注意重写的时候一定要有带animated 方法,不然还是无效 2.点击单元格 取消选中单元格 //  点击单元格的时候取消选中单元格 -(