tableView 一些零散的属性和方法

一些零散的属性和方法

    // 取得选中的那行
   NSIndexPath *path = [self.tableView indexPathForSelectedRow];

  // 每一行cell的高度
    self.tableView.rowHeight = 50;
  // 每一组头部控件的高度
    self.tableView.sectionHeaderHeight = 44;

 // 设置footerView
  MJTgFooterView *footer = [MJTgFooterView footerView];

  footer.delegate = self;

  self.tableView.tableFooterView = footer;

  self.tableView.tableHeaderView

   //表格的设置
  // 去除分割线
    self.tableView.backgroundColor = [UIColor colorWithRed:235/255.0 green:235/255.0 blue:235/255.0 alpha:1.0];
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    self.tableView.allowsSelection = NO; // 不允许选中

    自动滚动表格到最后一行
    NSIndexPath *lastPath = [NSIndexPath indexPathForRow:self.messageFrames.count - 1 inSection:0];
    [self.tableView scrollToRowAtIndexPath:lastPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];

   封装好的从xib加载cell的方法(自己写的)
  + (instancetype)cellWithTableView:(UITableView *)tableView
{
    static NSString *ID = @"tg";
    MJTgCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if (cell == nil) {
        // 从xib中加载cell
        cell = [[[NSBundle mainBundle] loadNibNamed:@"MJTgCell" owner:nil options:nil] lastObject];
    }
    return cell;
     }

   关于数据源刷新

    告诉tableView重新加载模型数据
     // reloadData : tableView会向数据源重新请求数据
     // 重新调用数据源的相应方法取得数据
    // 重新调用数据源的tableView:numberOfRowsInSection:获得行数
    // 重新调用数据源的tableView:cellForRowAtIndexPath:得知每一行显示怎样的cell
    // 全部刷新[self.tableView reloadData];
    // 局部刷新
    NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0];
    [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationBottom];

   带动画效果的组刷新

    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    MyHeaderFooterView *headerView = [MyHeaderFooterView headerViewWithTableView:tableView];

    headerView.groupsModel = _dataArray[section];

    headerView.tag = section;

    NSLog(@"%ld",headerView.tag);

    headerView.delegate = self;

    return headerView;
}

- (void)MyHeaderFooterViewDidClickedWithHeaderView:(MyHeaderFooterView *)headerView
{
    //[self.tableView reloadData];

        [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:headerView.tag] withRowAnimation:UITableViewRowAnimationAutomatic];

     }

  //局部section刷新

    NSIndexSet * nd=[[NSIndexSet alloc]initWithIndex:1];//刷新第二个section

    [tview reloadSections:nd withRowAnimation:UITableViewRowAnimationAutomatic];

    //局部cell刷新

    NSIndexPath *te=[NSIndexPath indexPathForRow:2 inSection:0];//刷新第一个section的第二行

    [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:te,nil] withRowAnimation:UITableViewRowAnimationMiddle];

    //注册cell类
    //[MyTableViewCell class]  cell的集合类
       [_tableView registerClass:[MyTableViewCell class] forCellReuseIdentifier:@"iden"];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//    static NSString *iden = @"iden";
//    MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:iden];
//    if (cell == nil) {
//        cell = [[MyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden];
//    }
//    BookModel *model = _dataArray[indexPath.row];
//    cell.titleLabel.text     = model.title;
//    cell.detailLabel.text    = model.detail;
//    cell.priceLabel.text     = model.price;
//    cell.iconImageView.image = [UIImage imageNamed:model.icon];
//    return cell;

    //使用集合类
    //从复用池里面找带有iden标识的cell,如果复用池里面没有,系统会自动创建,不用我们管理
    MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"iden" forIndexPath:indexPath];

    BookModel *model = _dataArray[indexPath.row];
    cell.titleLabel.text = model.title;
    cell.detailLabel.text = model.detail;
    cell.priceLabel.text = model.price;
    cell.iconImageView.image = [UIImage imageNamed:model.icon];
    return cell;

}

        让当前的cell带有动画效果的取消选中时的深背景色

        [tableView deselectRowAtIndexPath:indexPath animated:YES];
时间: 2024-10-11 02:48:52

tableView 一些零散的属性和方法的相关文章

UITableView属性和方法

1.初始化一个UITableView 1 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style 1 struct CGRect { 2 CGPoint origin; 3 CGSize size; 4 }; 5 typedef struct CGRect CGRect; 1 typedef enum { 2 UITableViewStylePlain, //平铺样式 3 UITableViewStyleGrouped //

[OC][转]UITableView属性及方法大全

Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px Times; min-height: 14.0px } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px "Songti SC" } p.p3 { margin: 0.0px 0.

让IE浏览器支持CSS3圆角属性的方法

如果要想在IE浏览器中实现圆角的效果,我们一般都会采用圆角图片的方式.用图片的话,基本就跟浏览器没有多大关系了,因为任何浏览器都支持这种方式.今天我们主要是讲解如果用CSS3样式表来实现圆角效果,值得注意的是,IE6/7/8这三个IE浏览器版本都不支持CSS3的解析,只有还不太主流的IE9支持CSS3和HTML5的标准.让IE支持CSS3的解析方法有很多种,(HTML5 Shiv – 让该死的IE系列支持HTML5吧)下面介绍一种实用的让IE支持CSS3解析的方法——IE利用VML矢量可标记语言

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons

动态创建html内容时所用的W3C DOM属性和方法

document的属性和方法:  document.createElement(tagName) :文档对象上的createElement方法可以创建由tagName指定的元素.如果以串div作为方法参数,就会生成一个div元素.  document.createTextNode(text) :文档对象的createTextNode方法会创建一个包含静态文本text的文本节点.  document.createAttribute(): 用指定的名字创建新的Attr节点.  document.cr

jQuery事件对象的属性和方法

jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(

JavaScript document属性和方法

JavaScript document属性和方法 --------------------------------------------属性: 1. Attributes     存储节点的属性列表(只读) 2. childNodes     存储节点的子节点列表(只读) 3 .dataType     返回此节点的数据类型 4. Definition     以DTD或XML模式给出的节点的定义(只读) 5. Doctype     指定文档类型节点(只读) 6 .documentEleme

关于JavaScript的对象,属性,方法的一些理解和认识。

对象      万物皆对象,所谓的对象,就是一个实体,一个物体,对象一定是有一个名字的, 在JavaScript中有很多很多对象,这些对象天生就存在在JavaScript中,比如document就是一个对象,window也是对象.     JavaScript想调用一个对象,非常的简单,直接打它的名字即可.     在JavaScript中,每个对象是负责不一样的事情.    document负责一切和文档相关的事情:window负责一切和浏览器窗口相关的事情:console负责一切和控制台相关

JavaScript设置获取和设置属性的方法

这篇文章主要介绍了JavaScript设置获取和设置属性的方法,学会使用getAttribute.setAttribute的用法,需要的朋友可以参考下 getAttribute 该方法用来获取元素的属性,调用方式如下所示: 复制代码代码如下: object.getAttribute(attribute) 以此前介绍的一些方法不同,getAttribute方法不属于document对象,所以不能通过document对象调用.它只能通过元素节点对象来调用. 该方法只接受一个参数,你指定要查询的属性的