iOS使用UIScrollView实现左右滑动UITableView和UICollectionView
在UIScrollView嵌套UITableView这篇文章是非常,但该项目的需求,需要嵌套UICollectionView,和UICollectionView和UITableView有非常多的不同,有些知识到现在也没搞清楚,一遍又一遍的尝试,最后做出来的。
图:
因为本人刚刚接触ios开发,非常多原理还说不清,所以以下的步骤以图片为主。文章结尾会附上源代码地址。可下载自行研究!
1、新建项目
2、改动storyboard,因为要使用到导航栏,所以删除原有view,从工具箱中拖入NavigationController。并将入口(剪头)指向该view。删除自带的tableviewcontroller,拖入view
controller。例如以下图
3、新建tableviewcontroller,tableviewcontroller默认带有tableview的视图,所以不须要勾选“also
create xib file”;可是collection viewcontroller就不行。这点比較郁闷。
4、UICollectionViewController不能直接使用,測试了非常久。就是不能嵌套在scrollview中。所以仅仅能先创建view
controller,再包括collection view,须要创建xib文件;打开xib文件拖入Collection View,并将此视图关联至
@property (weak, nonatomic) IBOutletUICollectionView *collection;
5、collectionviewcontroller就比較麻烦了。首先创建CollectionView所使用的单元格CollectionViewCell;并新建一个空的xib;
6、打开CollectionCell.xib,从工具箱拖入Collection Cell。设置背景色为黄色,并拖入一个label控件;注意设置Collection Cell的class 为刚才建立的“CollectionCell”类(不是Files Owner);关联
IBOutletUILabel *label
。例如以下图所看到的
至此。全部页面及前台已经设置完成
8、先搞定tableviewcontroller,例如以下代码
//
// TMJTableViewController.m
// PageTest
//
// Created by ejiang on 14-6-30.
// Copyright (c) 2014年 daijier. All rights reserved.
// #import "TMJTableViewController.h" @interfaceTMJTableViewController () @end @implementation TMJTableViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) {
// Custom initialization
}
returnself; } - (void)viewDidLoad {
[superviewDidLoad]; } - (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning]; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 10; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier=@"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if(cell==nil) {
cell=[[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:cellIdentifier]; }
cell.textLabel.text=@"哈哈"; return cell; }
@end
9、还是看源代码吧,粘贴代码没意思,主要步骤就以上几部
源代码下载地址:http://download.csdn.net/detail/wuwo333/8098431
版权声明:本文博客原创文章。博客,未经同意,不得转载。
iOS使用UIScrollView实现左右滑动UITableView和UICollectionView的更多相关文章
- RumTime实践之--UITableView和UICollectionView缺省页的实现
有关RunTime的知识点已经看过很久了,但是一直苦于在项目中没有好的机会进行实际运用,俗话说"光说不练假把式",正好最近在项目中碰到一个UITableView和UICollect ...
- iOS开发UIScrollView的底层实现
起始 做开发也有一段时间了,经历了第一次完成项目的激动,也经历了天天调用系统的API的枯燥,于是就有了探索底层实现的想法. 关于scrollView的思考 在iOS开发中我们会大量用到scrollVi ...
- iOS程序-UIScrollView的基本使用
iOS程序-UIScrollView的基本使用 scrollView的几个属性contentSize contentOffset contentInset 1.不能向上滑动很可能是因为contentS ...
- iOS回顾笔记(07) -- UITableView的使用和性能优化
iOS回顾笔记(07) -- UITableView的使用和性能优化 如果问iOS中最重要的最常用的UI控件是什么,我觉得UITableView当之无愧!似乎所有常规APP都使用到了UITableVi ...
- iOS全埋点解决方案-UITableView和UICollectionView点击事件
前言 在 $AppClick 事件采集中,还有两个比较特殊的控件: UITableView •UICollectionView 这两个控件的点击事件,一般指的是点击 UITableViewCell 和 ...
- iOS开发UI篇—直接使用UITableView Controller
iOS开发UI篇—直接使用UITableView Controller 一.一般过程 // // YYViewController.h // UITableView Controller // // ...
- iOS 8自动调整UITableView和UICollectionView布局
本文转载自:http://tech.techweb.com.cn/thread-635784-1-1.html 本文讲述了UITableView.UICollectionView实现 self-siz ...
- 微信小程序在ios下Echarts图表不能滑动的解决方案
问题现象 这个问题的现象说起来很简单. 小程序页面中有一篇很长的文章,内部有一个Echarts图表,手指上下滑动观看内容. 但是手指滑动区域在Echarts图表上时,页面却不能滑动了. 如下图: 追踪 ...
- iOS中UITableView和UICollectionView的默认空态页
项目中想实现空态页风格统一控制的效果,就封装了一个默认空态页,使用的技术点有:1 方法替换 ,2 给分类(Category)添加属性. 我们知道,扩展(extension)可以给类添加私有变量和方法. ...
随机推荐
- Directx11学习笔记【十一】 画一个简单的三角形--effect框架的使用
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html 实现的功能依然是画一个简单 ...
- RH033读书笔记(10)-Lab 11 Process Control
Lab 11 Process Control Sequence 1: Job Control 1. [student@stationX ~]$ su - 2. Begin some jobs in t ...
- JAVA 公众微信的开放源码项目管理合作伙伴招募的版本号
大家好: jeecg开源社区.现在正在进行"JAVA 开放源码的版本号项目微信公共账号"工作,有兴趣的朋友一起參与. 截止时间:20140510 採用技术: 1. JE ...
- 【C++探索之旅】开宗明义+第一部分第一课:什么是C++?
内容简介 1.课程大纲 2.第一部分第一课:什么是C++? 3.第一部分第二课预告:C++编程的必要软件 开宗明义 亲爱的读者,您是否对C++感兴趣,但是C++看起来很难,或者别人对你说C++挺难的, ...
- 一个用于每一天JavaScript示例-使用缓存计算(memoization)为了提高应用程序性能
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 面向服务的架构(SOA)
SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...
- object-c计划tips-添加到类对象属性
这个问题从网络包的内容,由于保密问题,我刚才所描述我的业余的想法. 基本的想法: 网络请求,我们应该能够使用基类BaseNetWork, 然后由派生类继承BaseNetWork,并实现一些特殊的方法. ...
- SELECT 场 FROM 表 WHERE 字段 Like 条件
间有关的条件,SQL它提供了四种匹配模式: 1.%: 表示随意0个或多个字符.可匹配随意类型和长度的字符.有些情况下若是中文,请使用两个百分号(%%)表示. 比方 SELECT * FROM [use ...
- C#二进制字节数组操作功能 拦截字节数组SubByte
C#二进制字节数组操作功能 拦截字节数组SubByte /// <summary> /// 截取字节数组 /// </summary> /// <param name=& ...
- IntelliSense 无法仅由函数的返回类型重装分辨
IntelliSense:无法仅由函数的返回类型重装分辨 d:\programfiles (x86)\microsoft sdks\windows\v7.0a\include\winbas ...