`
zhengjj_2009
  • 浏览: 153137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS UI笔记-TableView-01

 
阅读更多

主要目的:熟悉TableView的内部属性和方法,掌握TableView的使用套路。

例子1、直接使用TableView来展示字符集所有字体。

简要步骤:

1、新建一个Root01VIewController的OC类,继承于UIViewController,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中加入初始化的逻辑,具体如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    
    Root01ViewController *root01ViewCtrl = [[Root01ViewController alloc] init];
    UINavigationController *navCtrl =[[UINavigationController alloc] initWithRootViewController:root01ViewCtrl];
    self.window.rootViewController = navCtrl;
    [root01ViewCtrl release];
    [navCtrl release];
    return YES;
}

2、为Root01ViewController添加实现的协议(UITableVIewDatasource)、添加属性tableView

@interface Root01ViewController : UIViewController<UITableViewDataSource>
{
@private UITableView *_tableView;
@private NSArray     *_dataArray;
}

3、实现协议的2个必须的方法和一个可选方法

#pragma -mark delegate method
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [_dataArray count];
}

// Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:
// Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"mycell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if(cell == nil){
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease];
    }
    cell.textLabel.text = [_dataArray objectAtIndex:indexPath.row];
    return cell;
}

//@optional
// Default is 1 if not implemented
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

4、编写Root01VIewController的loadView方法

- (void)loadView
{
    UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    self.view = view;
    [view release];
    
    _dataArray = [[UIFont familyNames] retain];
    _tableView = [[UITableView alloc] initWithFrame:view.bounds style:UITableViewStylePlain];
    _tableView.dataSource = self;
    
    [self.view addSubview:_tableView];
    //[_tableView release];
    /*1、self.view不能为空,必须先赋值,否则会报错。
      2、addSubview:_tableView之后需要在dealloc中release一次*/
}

 

5、进行测试

 

6、添加背景图片,设置单元格的统一高度,设置表视图的背景颜色、分割线的颜色和分割线的风格

 /*add background Image*/
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tableView_background"]];
    _tableView.backgroundView = imageView;
    _tableView.rowHeight = 80;/*default is 44px*/
 // 设置表视图的颜色
    _tableView.backgroundColor = [UIColor yellowColor];
    // 设置表视图的分割线的颜色
    _tableView.separatorColor = [UIColor purpleColor];
    // 设置表视图的分割线的风格
    _tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

7、添加表视图的头部

     // 设置表视图的头部视图(headView 添加子视图)
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 80)];
    headerView.backgroundColor = [UIColor redColor];
    // 添加子视图
    UILabel *headText = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, 200, 80)];
    headText.text = @"天晴朗,天晴朗天晴朗天晴朗!";
    headText.numberOfLines = 0;
    [headerView addSubview:headText];
    [headText release];
    _tableView.tableHeaderView = headerView;
    [headerView release];

 

8、添加表视图的尾部

    // 设置表视图的尾部视图(footerView 添加子视图)    
    UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 80)];
    footerView.backgroundColor = [UIColor yellowColor];
    _tableView.tableFooterView = footerView;
    [footerView release];

 

分享到:
评论

相关推荐

    IOS-横向-TableView-Demo

    "IOS-横向-TableView-Demo"就是一个这样的示例项目,它展示了如何在iOS应用中创建一个既能横向又能纵向滚动的表格视图。 这个Demo的核心是扩展UITableView的功能,使其能够处理横向数据。在标准的UITableView中,每...

    iOS开发 - 第02篇 - UI进阶 - 03 - TableView Cell

    在`iOS开发 - 第02篇 - UI进阶 - 03 - TableView Cell`中,我们将深入探讨以下知识点: 1. **UITableViewCell**:作为UITableView的基本单元,UITableViewCell是显示数据的最小元素。每个cell通常包含一个或多个...

    ios-swift---tableview.zip

    本压缩包“ios-swift---tableview.zip”显然关注的是如何在Swift中使用UITableView来创建动态、可滚动的数据展示视图。UITableView是iOS应用开发中的一个核心组件,它允许开发者以列表形式展示大量数据,用户可以...

    ios-tableview-上拉加载更多

    综上所述,"ios-tableview-上拉加载更多"涉及到了UITableView的数据源和代理方法的使用、滚动事件监听、网络请求、UI反馈和性能优化等多个方面,这些都是iOS开发中非常重要的知识点。通过实践这些技术,开发者可以...

    ios-TableView-悬停.zip

    "ios-TableView-悬停.zip"这个压缩包可能包含了一个实现UITableView独特功能的示例,即“悬停”效果。在普通情况下,UITableView会在用户滚动时移除当前屏幕外的单元格,而“悬停”效果则是让某一行或某一列在滚动时...

    ios-Swift-tableVIew.zip

    本项目"ios-Swift-tableVIew.zip"显然聚焦于使用Swift和UITableView来创建自定义Cell,同时结合了Masnory进行约束布局,以实现灵活、适应性强的界面设计。以下是对这些知识点的详细讲解: 1. **Swift语言**:Swift...

    iOS开发 - 第02篇 - UI进阶 - 02 - TableView

    这篇教程“iOS开发 - 第02篇 - UI进阶 - 02 - TableView”将深入探讨如何使用UITableView来创建一个类似iPhone通讯录的应用,展示各种车标志的列表。 首先,UITableView是一个可滚动的控件,它允许用户通过上下滑动...

    ios-tableView的多项选择删除.zip

    总的来说,"ios-tableView的多项选择删除.zip"项目涵盖了在iOS应用中实现tableView多选删除的核心步骤,包括开启多选模式、处理用户选择、展示选中状态以及实现删除功能。开发者可以根据自己的需求进行相应的扩展和...

    ios-Move-Delete-Insert-TableView.zip

    在iOS开发中,UITableView是一种非常重要的UI组件,用于展示数据列表。这个名为“ios-Move-Delete-Insert-TableView.zip”的资源包显然包含了关于如何在UITableView中实现添加、删除和移动表格行的教程或代码示例。...

    ios-TableView-条件筛选.zip

    在“ios-TableView-条件筛选.zip”这个压缩包中,包含了一个名为“ExampleWithTableView”的示例项目,它展示了如何在UITableView中实现简单的条件筛选功能。这种功能在许多应用程序中都非常常见,例如在电商应用中...

    IOS开发-TableView表视图基础 源码

    本资源提供的"IOS开发-TableView表视图基础 源码"旨在帮助开发者掌握UITableView的基本使用方法和核心概念。 1. **UITableView介绍** UITableView是一个用于展示动态数据的滚动视图,它可以显示一行行的数据,每个...

    ios-tableview编辑.zip

    当我们谈论"ios-tableview编辑.zip"时,很显然这个压缩包可能包含了一系列关于如何实现UITableView的编辑和删除功能的代码示例、教程或资源。在iOS应用中,允许用户编辑和删除表格内容能提升用户体验,使他们能够更...

    ios-tableview下拉图片放大.zip

    在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。在某些设计中,我们可能会遇到这样的需求:当用户下拉表格时,顶部的图片会放大,形成一种动态的视觉效果。这个“ios-tableview下拉图片放大”的...

    ios-类似百度外卖首页---tableview内嵌套collectionview.zip

    在这个“ios-类似百度外卖首页---tableview内嵌套collectionview”的项目中,开发者通过代码抽离和分类的方式,实现了首页控制器的瘦身,提升了代码的可读性和可维护性。 首先,我们来详细解释这个标题所涉及的知识...

    ios-Tableview测试.zip

    "ios-Tableview测试.zip"中的项目可能是一个简单的示例,用于演示如何在iOS应用中有效地使用UITableView。TestTravelController很可能是一个实现了UITableViewDataSource和UITableViewDelegate协议的...

    ios-TableView的Cell上播放视频.zip

    这个“ios-TableView的Cell上播放视频.zip”资源可能包含了一个示例项目,用于演示如何在UITableView的每个单元格(Cell)中播放视频。以下是对这个主题的详细说明: 首先,为了在UITableView的Cell中播放视频,...

    ios-TableView.zip

    这个"ios-TableView.zip"文件很可能是包含了一些关于如何在iOS应用中使用TableView的示例代码或者教程资料。 TableView的核心概念与知识点包括: 1. UITableView类:作为iOS SDK中的主要视图类,UITableView负责...

    ios-tableView二级列表.zip

    在点击事件处理后,我们需要更新数据模型,然后调用`tableView.reloadData()`刷新界面,确保UI与数据同步。 7. **动画效果**: 为了提供更好的用户体验,可以在展开和收起二级列表时添加平滑的动画。可以利用`...

    ios-tableview 嵌套 悬停.zip

    而“ios-tableview 嵌套 悬停”这个项目,显然关注的是如何在UITableView中实现嵌套的效果,并且具备悬停功能。这个项目来源于GitHub上的开源库`ArtScrollTableView`,由LeeWongSnail开发,提供了高级的滚动和悬停...

    iOS-TableView入门示例

    这个入门示例将带你逐步了解如何在iOS应用中使用TableView,展示基础的数据,并进行更高级的定制。 首先,让我们了解一下UITableView的基本概念: 1. **UITableView**:它是苹果提供的一个类,用于创建和管理包含...

Global site tag (gtag.js) - Google Analytics