frame模型】的更多相关文章

github: https://github.com/hellovoidworld/HVWWeibo A.cell的frame模型设计 1.需求 每个cell都有一个frame实例引用 frame模型用来存储数据模型.设置子控件位置尺寸   2.思路 frame模型同时包含了数据模型和子控件的frame实例引用 跟view设计一样,也是采用分层设计 每个view都有一个自己的frame模型   view层次:   每个view对应一个frame:   3.实现 (1)view   // // H…
///  控制层 #import "HMViewController.h" #import "HMMessageModel.h" #import "HMMessageCell.h" #import "HMMessageFrameModel.h" @interface HMViewController ()<UITableViewDataSource,UITableViewDelegate> @property (n…
#import "CZWeiboFrame.h" #import "CZWeibo.h" @implementation CZWeiboFrame #define KPadding 10 #define KIconImageViewWH 30 #define KVipImageViewWH 15 #define KPicImageViewWH 70 -(void)setWeibo:(CZWeibo *)weibo { _weibo = weibo; //1.用户头像…
一.Frame模型: -------------------WeiboFrame.h-------------------------------------------------- -------------------------------------------------------------------------------------- -------------------WeiboFrame.m---------------------------------------…
1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 (先要调用父控件的nitWithStyle:reuseIdentifier:方法) 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 数据模型: 存放文字数据\图片数据 frame模型: 存放数据模型\所有子控件的fr…
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中…
纯代码自定义cell 自定义cell的步骤(每个cell的高度不一样,每个cell里面显示的内容也不一样) 1.新建一个继承自UITableViewCell的子类 2.在initWithStyle:方法中进行子控件的初始化 2.1将有可能显示的所有子控件添加到contentView中,代码如下 2.2顺便设置子控件的一些属性(一次性属性:文字颜色,字体,背景) /// cell初始化方法中对子控件进行初始化 - (instancetype)initWithStyle:(UITableViewCe…
1.要往cell里面添加一个自定义的子控件,都是添加到cell的contentView,不是添加到cell里面. 2.通过xib自定义cell * 添加tableView * 加载团购数据 * 新建xib,获取子控件 * 封装 * 最后引入headerView和footerView(插入广告,加载更多) 总结:通过代码自定义cell(cell高度不一致)一般步骤: 1.新建一个继承自UITableViewCell的类 2.重写initWithStl额:reuseIdentifier:方法 1).…
一.什么是UITableView 在iOS中,要实现展示列表数据,最常用的做法就是使用UITableViewUITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UITableView的两种样式UITableViewStylePlainUITableViewStyleGrouped 二.如何展示数据 UITableView需要一个数据源(dataSource)来显示数据 UITableView会向数据源查询一共有多少行数据以及每一行显示什么数据等 没有设置数据源的…
iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 2.告诉每组一共有多少行 方法:- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSIntege…
1.新建一个继承自UITableViewCell的子类  2. 在initWithStyle:方法中进行子控件的初始化 1> 将有可能显示的所有子控件都添加到contentView中 2> 顺便设置子控件的一些属性(一次性的设置:字体.文字颜色.背景   3. 提供2个模型 1> 一个是数据模型(文字数据 + 图片数据) 2> 一个是frame模型(数据模型 + 所有子控件的frame + cell的高度)   4. cell应该提供一个frame模型属性 1> 将frame…
----------------------------------------------------------------------------- 受到挫折,写一些简单的练习,增加成就感 放大核心代码: - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.testImageView; } - (void)initialize { self.testScrollView.maximu…
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableView : UIScrollView <NSCoding> @available(iOS 2.0, *) public class UITableView : UIScrollView, NSCoding 1.tableView 的创建 Objective-C 遵守 UITableViewDelegate, UITableViewDataSource 协议 数据源 初始化 // 声明数据源,必须…
通过代码自定义cell(cell的高度不一致)(如果高度一致的cell 用xib实现) 1.新建一个集成自UItableVIewCell的类 2.重写initWithStle :方法 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 1>添加所有需要显示的子控件(不需要设置子控件的数据和Frame,子控件要添加到contentView中) 2>…
什么是UITableView 在众多移动应用中,能看到各式各样的表格数据 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UITableView的两种样式 UITableViewStylePlain UITableViewStyleGrouped tableView展示数据的过程 1.调用数据源的下面方法得知一共有多少组数据 - (NSInteger)numberOfSections…
一.知识点: QQ聊天界面 双模型的使用(dataModel和frameModel) UITextField的使用 通知的使用 拉伸图片的两种方法(slicing/image对象的resizeableImageWithCapInsets属性) 枚举 方法的抽取(相同的拿出,不同的部分作为参数) 二.设置tableview的基本格式 1)定义tableview基本 numberOfSectionsInTableView:设置块 numberOfRowsInSection:设置每块对应的行数 cel…
带你玩装UITableView 在实际iOS开发中UITableView是使用最多,也是最重要的一个控件,如果你不会用它,那别说什么大神了,菜鸟都不如. 其实关于UItableView事非常简单的,实际开发中用起来却没有那么简单就是因为他结合MVC使用,涉及到了模型数据的读取,自定义View,功能的拓展和更好的解藕,下面就带你玩一遍: UITableView的两种样式 UITableViewStylePlain UITableViewStyleGroupeds accessoryType UIT…
一.编译器特性 1.ARC. ARC是编译器特性.项目中使用了ARC,编译器会在项目编译的时候自动添加OC对象计数器release代码.并且使用了ARC,项目中将不允许出现release.retain.retainCount和[super dealloc]代码. ARC不同于Java和.Net中的垃圾回收,Java和.Net中的垃圾回收是运行时特性.ARC只是将OC对象的计数器自动减1.非OC对象,像常见的数据类型.enum枚举和struct结构体不参与ARC,系统会自动销毁回收.(注:OC对象…
  Controller: // // ViewController.m // Weibo // // Created by hellovoidworld on 14/12/4. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // #import "ViewController.h" #import "Weibo.h" #import "WeiboCell.h" #impo…
A.需求 1.类似于微博内容的展示 2.头像 3.名字 4.会员标志 5.内容 6.分割线 7.配图(可选,可有可无)   code source: https://github.com/hellovoidworld/WeiboContentDemo     B.思路.步骤 1.Controller:UITableViewController      改变控制器继承自UITableViewController,storyboard中也同时使用新的TableViewController,其Tab…
用到的技术:自定义cell,通知机制,代理模式 transform 1.自定义cell(通过代码自定义cell) ①首先新建一个类继承UITableViewCell ②重写initWithStyle:reuseIdentifier方法 这里只需要把所有要显示的子控件添加到contenView中,在这一步一般不需要设置属性的, 但是如果是一些子控件中一些静态的属性,字需要一次性设置的话,就在这里 设置,在重写frameSet方法的时候在把一些比较动态的数据填充上去以及设置 每个子控件的frame…
需求背景:由于tableView中每一个cell的数据与布局都不一样,故不能用xib实现功能,这是用代码写自定义cell就有必要了. 步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 Ø添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) Ø进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 Ø数据模型: 存放文字数…
第四天 微博数据展示:获取服务器数据,json数据的解析,MVC的使用,自定义cell高度的计算,一些分类的设计.已经是第四天了,虽然每天都有课程,但这个东西也基本完成了一大半吧,一些忘掉的知识也捡起来了.看了一下第一次写的笔记,做到这个程度可是花了将近十多天的时间,这次这么短的时间就做到了着,还是有一点复制粘贴的成分,但是大致的思维过程还是有的,也练了一下编码速度的.四天时间主要就是回顾一下之前做的一些事情,下一步不打算接着做下去了,要将第一次没完成的很多细节完善,争取做得更加完美.简单的记录…
通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 通知(NSNotification) 一个完整的通知一般包含3个属性: - (NSString *)name;  // 通知的名称…
系统默认的UITableViewCell的每行都有横线(分隔符),就算没有数据也是如此,有时候我们想只在有数据的地方有下划线,可以去除下划线,然后在awarkFromNid方法中使用addsubview的方法加入下划线到UITableViewCell的contentView中.但有些时候我们还要自定义其他类型的Cell. 自定义cell有两种方法,一种是通过xid自定义控件,一种是通过代码自定义cell. 通过xid自定义cell的步骤: 新建一个xib文件描述一个view的内部结构(假设叫做M…
UITableView 概述 UITableView 一般用来展示表格数据.可以滚动(继承自UIScrollView).性能极佳 UITableView分两种样式: Plain,不分组的样式 Grouped,分组的样式 UITableView默认为Plain样式,改为Grouped后实现分组,如果再改回Plain 那么在滚动的时候 上一层的头标签就会一直作为索引显示,类似于通讯录中的A B的显示方式 使用: //展现数据有几组,当不实现这个方法时,默认为一组 -(NSInteger)number…
第一条:UITableViewCell 内容的设置 //文本放到最后 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_dataArr.count - 1 inSection:0]; [_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];   //刷新指定cell NSInde…
Tip:通过xib和storyboard不可能将一个控件作为ImageView的子控件,只能通过代码的addSubview方法实现. 设置图片的细节:如果button比图片大(为了方便对齐),将图片设置为image而不是background,图片不会被拉伸到失真. 为了保证在不同系统上显示的效果一样,可以不使用系统默认样式,用自定义的背景等,例如QQ的聊天框,如果要实现,首先将TextField的BorderStyle选为空: 然后设置自己的background即可. 细节:聊天的type(发送…
1,UITableview的优化方法(缓存高度,异步绘制,减少层级,hide,避免离屏渲染) (1)缓存高度:当我们创建frame模型的时候,计算出来cell的高度的时候,我们可以将cell的高度缓存到字典里面,以cell的indexpath和Identifier作为为key. 异步绘制 在Cell上添加系统控件的时候,实质上系统都需要调用底层的接口进行绘制,当我们大量添加控件时,对资源的开销也会很大,所以我们可以索性直接绘制,提高效率. (2)减少层级 减少SubViews的数量, 在滑动的列…
概述 我们要实现的效果: 这个界面布局也是UITableView实现的,其中的内容就是UITableViewCell,只是这个UITableViewCell是用户自定义实现的.虽然系统自带的UITableViewCell已经够强大了,但是这个界面布局并不能满足我们的需求. 在上面的cell布局里,我们可以知道,每个cell的高度都是不固定的.因此,我们通过代码来自定义cell. 代码自定义cell 步骤: 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:…