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)可以给类添加私有变量和方法. ...
随机推荐
- Flex发行2048游戏
近来的2048像挺火的游戏.在公交车,吃.甚至还有人走在路上拿着手机在玩.之前我看我的同事们戏,我认为这是很天真,中移动太无聊了吧 到后面,他是在,我觉得真的很无聊,这时候,无聊的时候无聊,后来我想用 ...
- c#中的属性
在C#中我们可以很自由的访问共有字段,但有时我们可能需要某字段只能读或者写,或在改变字段值得时候做一些其他事情,显然这些仅仅依靠字段是无法实现的,于是便有了属性. 1.基本用法 c#中的属性由属性作用 ...
- 为什么MVC不是一种设计模式(转)
MVC(Model-View-Controller)是处理界面应用程序时常用的解决方案,构成了表示层. MVC通过分离模型.视图.控制器在应用程序中的角色,实现界面和业务逻辑的解耦.Model(是OO ...
- Palindromes _easy version
Time Limit: 1Sec MemoryLimit: 64 MB Submit:165 Solved: 76 [Submit][Status][WebBoard] Description & ...
- 因host命令导致无法正常SHUTDOWN的实验
SHUTDOWN有几个參数能够使用: SHUTDOWN NORMAL:NORMAL也是默认的子句,运行的条件是 No new connections are allowed after the sta ...
- Win10使用中的一些问题
闲来无事,怒装Win10.使用上总体来说还是不错的,比Win8好一个档次吧. 不过呢在使用中遇到两个很郁闷的问题.权且几下 1.Win10激活 使用工具:激活工具 2.激活后浏览器被挟持 这让我现在非 ...
- Android 推断SD卡是否存在及容量查询
首先要在AndroidManifest.xml中添加SD卡訪问权限 <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name= ...
- [Unity3d]定义自己的鼠标
[Unity3d]自己定义鼠标 我们在用unity3d开发自己的游戏的时候.自己定义游戏中的鼠标也是常常要用到的.那我就得学学.事实上原理非常easy,先将鼠标给隐藏,然后在鼠标的位置上画出一个自己定 ...
- 单元测试React
React单元测试——十八般兵器齐上阵,环境构建篇 一个完整.优秀的项目往往离不开单元测试的环节,就 github 上的主流前端项目而言,基本都有相应的单元测试模块. 就 React 的项目来说,一套 ...
- OpenGL【2 坐标转换】
// OpenGL.cpp : 自定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include & ...