iOS开发UI篇—UITableview控件简单介绍

一、基本介绍

在众多移动应⽤用中,能看到各式各样的表格数据 。

在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UITableView继承自UIScrollView,因此支持垂直滚动,⽽且性能极佳 。

UITableview有分组和不分组两种样式,可以在storyboard或者是用代码设置。

二、数据展示

UITableView需要⼀一个数据源(dataSource)来显示数据 UITableView会向数据源查询一共有多少行数据以及每⼀行显示什么数据等

没有设置数据源的UITableView只是个空壳

凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源 

 

展示数据的过程:

(1)调用数据源的下面⽅法得知⼀一共有多少组数据 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;

(2)调用数据源的下面⽅法得知每一组有多少行数据 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

(3)调⽤数据源的下⾯⽅法得知每⼀⾏显示什么内容

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

三、代码示例

更多相关APP开发资讯关注:appyykf

 

(1)能基本展示的“垃圾”代码

复制代码
  1 #import "NJViewController.h"
 2  3 @interface NJViewController ()<UITableViewDataSource>  4 @property (weak, nonatomic) IBOutlet UITableView *tableView;  5  6 @end  7  8 @implementation NJViewController  9  10 - (void)viewDidLoad  11 {  12  [super viewDidLoad];  13 // 设置tableView的数据源  14 self.tableView.dataSource = self;  15  16 }  17  18 #pragma mark - UITableViewDataSource  19 /**  20  * 1.告诉tableview一共有多少组  21 */  22 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  23 {  24 NSLog(@"numberOfSectionsInTableView");  25 return 2;  26 }  27 /**  28  * 2.第section组有多少行  29 */  30 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  31 {  32 NSLog(@"numberOfRowsInSection %d", section);  33 if (0 == section) {  34 // 第0组有多少行  35 return 2;  36 }else  37  {  38 // 第1组有多少行  39 return 3;  40  }  41 }  42 /**  43  * 3.告知系统每一行显示什么内容  44 */  45 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  46 {  47 NSLog(@"cellForRowAtIndexPath %d %d", indexPath.section, indexPath.row);  48 // indexPath.section; // 第几组  49 // indexPath.row; // 第几行  50 // 1.创建cell  51 UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];  52  53 // 2.设置数据  54 // cell.textLabel.text = @"汽车";  55 // 判断是第几组的第几行  56 if (0 == indexPath.section) { // 第0组  57 if (0 == indexPath.row) // 第0组第0行  58  {  59 cell.textLabel.text = @"奥迪";  60 }else if (1 == indexPath.row) // 第0组第1行  61  {  62 cell.textLabel.text = @"宝马";  63  }  64  65 }else if (1 == indexPath.section) // 第1组  66  {  67 if (0 == indexPath.row) { // 第0组第0行  68 cell.textLabel.text = @"本田";  69 }else if (1 == indexPath.row) // 第0组第1行  70  {  71 cell.textLabel.text = @"丰田";  72 }else if (2 == indexPath.row) // 第0组第2行  73  {  74 cell.textLabel.text = @"马自达";  75  }  76  }  77  78 // 3.返回要显示的控件  79 return cell;  80  81 }  82 /**  83 

转载于:https://www.cnblogs.com/txsx/p/5481712.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态ADF火车:以编程方式添加火车停靠站

我将展示如何以编程方式“即时”将火车停靠站添加到ADF火车中。 在我的用例中&#xff0c;我有一些票务预订应用程序。 它具有训练模型的有限任务流。 在火车的第一站&#xff0c;用户输入乘客的数量&#xff0c;在随后的站点&#xff0c;他们输入一些乘客的信息。 带有乘客信息…

关于存储过程权限

关于ORACLE账号的权限问题&#xff0c;一般分为两种权限&#xff1a; 系统权限: 允许用户执行特定的数据库动作&#xff0c;如创建表、创建索引、创建存储过程等 对象权限: 允许用户操纵一些特定的对象&#xff0c;如读取视图&#xff0c;可更新某些列、执行存储过程等 像这种查…

宁波镇海2021年高考成绩查询,最新!2021年,宁波镇海区的这14所中小学“爆了...

宁波镇海区教育局发布了2021年公办学校小学一年级、初中一年级招生第一次预警&#xff0c;这也是宁波首个发布2021年公办学校招生预警的县、市、区。根据最新数据摸排&#xff0c;宁波镇海区有8所小学红色预警、2所初中红色预警&#xff0c;1所小学黄色预警、3所初中黄色预警。…

超出了GC开销限制– Java堆分析

这篇文章是我们原来的GC超出限制的问题模式帖子的延续。 正确的Java堆分析对于消除O​​utOfMemoryError&#xff1a;GC开销问题至关重要。 如果您不熟悉此Java HotSpot 1.6错误&#xff0c;建议您首先阅读有关此主题的第一篇文章 。 本文将为您提供一个示例程序和一个教程&…

cdockpane限制调整大小_影视后期制作小伙伴必看:使用AU对声音质量进行调整的三大技巧...

一、增幅一般人进入AU的音频调整界面&#xff0c;会使用图中的旋钮进行音量调整&#xff0c;这种操作是错误的&#xff0c;因为通过拖拽并不能确定调整音量的大小幅度&#xff0c;精准度极低&#xff0c;反复操作才能试出最佳音量&#xff0c;效率极低。最优方案是使用左侧效果…

华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好

如果用一句话来形容华润置地进入沈阳13年的发展历程&#xff0c;你认为是什么&#xff1f;“从优秀到卓越”。用2020年的语言你给我翻译一下&#xff1f;“从一流到顶流”&#xff01;01/ 初识的美好犹记2007年1月&#xff0c;央企华润置地首进沈阳&#xff0c;在大馆原址呈现出…

cmd控制屏幕光标_电脑控制手机?上班时间愉快尽情地玩手机吧!它值得您拥有!...

在现今时代&#xff0c;手机已成为人们必不可少的工具&#xff0c;有的时候甚至可以说手机比电脑方便好用多了&#xff0c;例如某些实用的APP软件就只有手机端并没有电脑端&#xff0c;想使用的话就得整天捧着手机盯着不放。但别忘记&#xff0c;我们大多数都是打工族&#xff…

xp系统设置锁定计算机,系统锁定时不关机的诀窍 给XP系统关闭计算机再加一把锁...

很多用户抱怨在使用电脑的过程中&#xff0c;总是经常会被琐碎的事情打断&#xff0c;有时候难免暂时离开电脑&#xff0c;处于便利和资料安全&#xff0c;我们往往会按下“WindowsL”来锁定计算机。这样&#xff0c;操作方便同时又能阻止他人乱动我们的计算机。但是如果遇到好…

gitee项目404问题_七款开源项目,让你数据库管理不再成为一个问题

在开发过程中&#xff0c;数据库是必不可少的一环&#xff0c;但大多数情况下开发者们还是在用命令行来管理数据库。虽然在外人看起来输入一行行代码非常的酷炫&#xff0c;但其中的繁琐可能也只有开发者知道。七款开源项目&#xff0c;让你数据库管理不再成为一个问题今天 Git…

vb 窗体html表格,VB.Net – 高级表格

在本章中&#xff0c;让我们研究以下概念 :在应用程序中添加菜单和子菜单在表单中添加剪切&#xff0c;复制和粘贴功能锚定和对接控件表格模态表格添加菜单和子菜单应用程序中的菜单传统上&#xff0c;菜单&#xff0c;MainMenu&#xff0c;ContextMenu和MenuItem类用于在Windo…

SpringMVC后台接收list类型的数据的实现方式

一、背景 最近在做一些东西的时候&#xff0c;遇到一个需要Springmvc后台接收list类型数据的需求&#xff0c;几经辗转才完美解决了这个问题&#xff0c;今天记下来方便以后使用&#xff0c;也分享给需要的小伙伴们~ 二、实现方式 实现方式一 前端页面 1 <% page language&q…

Maven集成测试和Spring Restful Services

介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后&#xff0c;许多人要求我提供比最初使用的示例更实际的示例。 这篇文章展示了如何在实际环境中&#…

玩cf出现outofmemory_CF画质粗糙平衡感人,却能历经十年经久不衰,靠的是什么?...

Hello大家好&#xff0c;我是沐辰。《穿越火线》这款游戏国内运营时间已长达十年&#xff0c;从最早接触这款游戏开始&#xff0c;很多玩家都在这里烙刻下了许多关于青春的回忆。CF的许多问题一直颇受诟病&#xff0c;例如落后且粗糙的画质、英雄级武器与平民武器的巨大差距、千…

jquery遍历ajax返回的json数据

我们以前在前端遍历ajax拿到的数据一般都是用for或其他方式遍历&#xff0c;这样做麻烦且费事&#xff0c;效率不高&#xff0c;下面提供一个函数&#xff0c;只需调用函数即可把数据遍历出来&#xff0c;方便高效。 html代码&#xff1a; <html> <head><script…

Apache JMeter:随心所欲进行负载测试

这是有关使用Apache JMeter进行负载测试的第二篇文章&#xff0c;请在此处阅读第一篇文章&#xff1a; 有关对关系数据库进行负载测试的分步教程。 JMeter有很多采样器 。 如果您需要JMeter不提供的采样器&#xff0c;则可以编写自定义采样器。 &#xff08;自定义采样器在JMet…

致敬词

见义勇为致敬词 面对灾难和死神&#xff0c;你们大义凛然、知险而上&#xff0c;把平安和生机留给他人&#xff0c;把困难和危险留给自己。巍巍乎高山景行&#xff0c;铮铮然铁骨侠风&#xff1b;壮志谱传奇&#xff0c;热血写春秋。你们是&#xff1a;百姓英雄&#xff0c;平安…

经常使用计算机的孩子,常玩电脑对孩子负面影响大,家长们不容小觑!

相信不少的家庭都会备有电脑&#xff0c;人们在网络世界里面能够找到自己需要的东西。不仅是大人喜欢玩电脑&#xff0c;小孩也喜欢玩电脑。然而常玩电脑对孩子负面影响大吗&#xff1f;有多大&#xff1f;一、行为问题全国青少年教育协会指出&#xff0c;5岁以下的使用电脑的孩…

VMware下ubuntu与Windows实现文件共享的方法

最近安装caffe需要将Windows下文件拷贝到ubuntu16.04下&#xff0c;就进行了共享文件夹的设置&#xff0c;期间遇到一些困难&#xff0c;记录下来&#xff0c;方便以后遇到此类问题不再困惑。 &#xff08;记录只为更好的分享&#xff09; 言归正传&#xff1a; 1、首先需要在u…

mybatis入门-新手注意问题

参数问题 在映射文件中通过parameterType指定输入参数的类型&#xff1b;在映射文件中通过resultType指定输出结果的类型。 占位符和拼接符问题 #{}表示一个占位符号&#xff0c;#{}接收输入参数&#xff0c;类型可以是简单类型&#xff0c;pojo、hashmap。 如果接收简单类型&a…

远程桌面连接时无法访问远程计算机的计算机属性提示系统调用失败,远程过程调用失败【应对技巧】...

喜欢使用电脑的小伙伴们一般都会遇到win7系统远程过程调用失败的问题&#xff0c;突然遇到win7系统远程过程调用失败的问题就不知道该怎么办了&#xff0c;其实win7系统远程过程调用失败的解决方法非常简单&#xff0c;按照1&#xff1a;第一步我们可以看到sql server数据库出现…