UITableView基础(一)

 hello 大家又见面啦,今天小编给大家讲解一下UITableView,这一块知识在我们实际项目中是最为常见的,是ios项目的根骨所在,希望大家能够足够重视,所以小编准备分几次内容给大家一一解析其中的难点,下面是最基础的内容,希望大家能有所收获。
import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITableViewDataSource>
//绑定tableView控件,定义变量,方便对控件的代码操作
@property (strong, nonatomic) IBOutlet UITableView *table;
//为tableView上显示数据定义两个变量
@property(nonatomic,strong)NSArray *community;
@property(nonatomic,strong)NSArray *details;

@end

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize details;
@synthesize community;
- (void)viewDidLoad {
    [super viewDidLoad];
    //对定义的两个变量赋予初始值
   community=[NSArray arrayWithObjects:@"图灵工作社",@"梦翔工作社",@"南工电脑网",@"锋芒工作社", nil];
    details=[NSArray arrayWithObjects:@"图灵最牛,挤压群熊",@"不错的社团",@"不错的社团",@"不错的社团", nil];
    self.table.dataSource=self;
    //添加页眉和页脚,在这里小编分别加载的是图片
    self.table.tableHeaderView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"001.jpg"]];
    self.table.tableFooterView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"001.jpg"]];
}
//UITableView协议里面的方法,对每个UITableCell进行定制和写入内容
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  static NSString *cellId=@"cellId";//静态NSString类型,目的是可以重用能添加UITaleCell到重用表格中,和方便从重用表格中调取。
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellId];
    if (cell==nil) {//第一次没有表格行(UITableCell)时,定制表格行
        switch (indexPath.row%4) {
            case 0:
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellId];//第一种UITableCell风格
                break;
           case 1:
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];//第二种UITableCell风格
                break;
            case 2:
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellId];//第三种UITableCell风格
                break;
                case 3:
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:cellId];//第四种UITableCell风格
                break;
      <span style="color:#ff0000;">//注意看下下边的图片,比较这四种UITableCell的不同点!!!</span>
        }
        }

    NSUInteger rowNo=indexPath.row;//调取每行UITableCell的索引进行付于初值
    cell.textLabel.text=[community objectAtIndex:rowNo];
    cell.imageView.image=[UIImage imageNamed:@"001.jpg"];
    cell.imageView.highlightedImage=[UIImage imageNamed:@"001.jpg"];
    cell.detailTextLabel.text=[details objectAtIndex:rowNo];
    return cell;
}
//UIDataSource协议里面的第二个方法:目的告诉系统一个分区里面有多少个表格行(注意是一个分区,不一定是总共有多少表格行)
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return community.count;
}
//UIDataSource协议里面的第二个方法:目的告诉系统有几个分区(几块表格)显然这里返回的是一个分区表格
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
运行结果如下:

怎么样,这点简单的知识掌握了没有啊?大家要愉快的学习,发觉编程的乐趣,提高自己的效率!后续马上给大家讲解深层次的UITableView知识,希望小编的这点微薄知识能帮到你们!

时间: 2024-11-10 11:03:16

UITableView基础(一)的相关文章

iOS开发基础:UITableView

  实现UITableView的Controller需要实现 < UITableViewDataSource, UITableViewDelegate > 这两个代理,具体就是要实现以下两个方法: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [model getRowCount]; } //返回UITableView的行数 - (UITableV

iOS开发系列--UITableView全面解析

概述 在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论.今天的主要内容包括: 基本介绍 数据源 代理 性能优化 UITableViewCell 常用操作 UITableViewController MVC模式 基本介绍 UITableView有两种风格:UITableViewSt

iOS使用UITableView实现的富文本编辑器

本文讲的是iOS使用UITableView实现的富文本编辑器,公司最近做一个项目,其中有一个模块是富文本编辑模块,之前没做个类似的功能模块,本来以为这个功能很常见应该会有已经造好的轮子,或许我只要找到轮子,研究下轮子,然后修改打磨轮子,这件事就八九不离十了.不过,还是 too young to simple 了,有些事,还是得自己去面对的,或许这就叫做成长,感觉最近一年,对于编程这件事,更多了一点热爱,我感觉我不配过只会复制粘贴代码的人生,编程需要有挑战.所以,遇到困难,保持一份正念,路其实就在

测试SDWebImage淡入淡出效果在UITableView中的重用显示问题

测试SDWebImage淡入淡出效果在UITableView中的重用显示问题 这个是在上一篇教程的基础上所添加的测试环节! 效果图(从效果图中看是没有任何重用问题的): 源码: ImageCell.h 与 ImageCell.m // // ImageCell.h // SDWebImageFade // // Created by YouXianMing on 14-10-5. // Copyright (c) 2014年 YouXianMing. All rights reserved. /

iOS开发UI篇—在UItableview中实现加载更多功能

一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器)会加载两条数据进来. 视图部分的按钮被点击的时候,要让主控制器加载数据,刷新表格,2B青年会在视图中增加一个主控制器的属性,通过这个属性去调用进行加载,但在开发中通常通过代理模式来完成这个操作. 下面分别是两种实现的代码. 1.项目结构和说明 说明:加载更多永远都放在这个tableview的最下端,因此这里设置成了这个tableview的

xcode-学习objective-c 基础教程遇到问题 例题03.06 word-length-3 编译出错

问题描述 学习objective-c 基础教程遇到问题 例题03.06 word-length-3 编译出错 #import int main(int argc, const char * argv[]) { FILE *wordFile = fopen ("/tmp/words.txt", "r"); char word[100]; while (fgets(*word,99,wordFile)) \这一行编译出现"Thread 1:EXC_BAD_AC

零基础如何自学UI设计?

  酸梅干超人:下面是我这几年经验的总结和思考,虽然我并不算是最出类拔萃的UI设计师,但也希望对新人有益. 第一点:学习准备--启蒙 学习一项技能,尤其是已经有一定沉淀并在各行各业有广泛应用的技能,就一定要对它先有充分的认知.在开始正式学习前,你需要花足够的经历去了解和查阅它的起源.发展.应用.未来.UI作为平面设计的一部分,再往上又从属与美术学这一大类.因此,首先要先去了解整个美术史的发展.从人类起源各个阶段中,美术经历了什么样的变化,在各自的时代发挥了什么作用,近代美术史又经历了哪些波折,平

.NET 2.0 基础类库中的范型——其他范型类

其他范型类.NET 2.0 基础类库对范型的应用当然并不仅限于范型集合和 Functional Programming.下面所列的范型类也都有其明确的设计目的和用途. Array在.NET 2.0中,Array 类扩充了对范型编程的支持.当然,Array类本身并不是范型类(出于兼容的考虑),而是提供了一系列支持范型的方法.除了前面提到的 Functional Programming 的支持外,Array 类还对以前很多基于 object 的方法提供了对应的范型版本,这样对值类型可以提高查找和排序

UITableView中cell里的UITextField不被弹出键盘挡住

UITableView中cell里的UITextField不被弹出键盘挡住    本人视频教程系类   iOS中CALayer的使用   效果如下: 源码: EditCell.h 与 EditCell.m // // EditCell.h // Cell // // Created by YouXianMing on 14/12/18. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <UIKit/UIKit