IOS5基础十八------storyboard(动态原型单元和静态单元)
来源:互联网 发布:java分布式系统有哪些 编辑:程序博客网 时间:2024/05/29 18:22
今天居然会迷恋上了塔防游戏,晕,打了一天,终于想到还有要学习的东西,坚持,还是真的不容易啊!
其实这个这个stroyboard只是让我们更加方便的去切换自己页面。不过原理和以前的是有很大的区别。
创建一个新的storyboard项目呢。
选择Single View Application 接着next
这里要选择Use Storyboard哦!这样就创建好了,因为这是Apple已经为我们做好的。
接下来就是动态原型单元。
实际上就是创建一个UIViewController subClass 然后绑定到相应的UIViewController上。我是这样理解的。
这样才算是选中了表视图控制器,在身份检查器中将class 修改为BIDTaskListController。
在Prototype Cells的属性Identifier 设为plainCell。将label拖入到其中 并将Tag值设为1。选中表视图单元,可以从dock中比较容易好选,Edit--Duplicate 就复制了一个新单元。
选中新单元,修改Identifier修改为attentionCell。将标签颜色修改为红色,字体修改为System Bold。
在#import "BIDTaskListController.h"
文件中添加
@interface BIDTaskListController()
@property(strong,nonatomic)NSArray *tasks;
@end
在ViewdidLoad的时候添加数据
self.tasks=[NSArrayarrayWithObjects:@"Walk the dog",@"URGENT:Buy milk",@"Clean hidden lair",@"Invent miniature dolphins",
@"Find new henchmen",@"Get revenge on do-gooder heroes",@"URGENT:Fold laundry",@"Hold entire world hostage",@"Manicure",nil];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Configure the cell...
NSString *identifier=nil;
NSString *task =[self.tasksobjectAtIndex:indexPath.row];
NSRange urgentRange =[task rangeOfString:@"URGENT"];
if (urgentRange.location==NSNotFound) {
identifier =@"plainCell";
}
else
identifier=@"attentionCell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identifier];
UILabel *cellLabel=(UILabel *)[cellviewWithTag:1];
cellLabel.text=task;
return cell;
}
其他的时次要的,基本时都和前面的区别不大,就是table Data Source Methods
拖入控件后,选择表视图打开属性选择器 将最上方的Content中的Dynamic Prototypes改为Static Cells。将style设置为Grouped。选中单元块查看属性选择器,将Row修改为2
header 设为Silliest Colck Ever.
选择第一个单元格将属性检查器style修改为Left Detail ,将Title修改为The Date 第二单元格同理。
将控件和界面关联起来
选择Detail 按住control键拖入到右边的@interface和@end中间就会出现输出接口的IBOutlet,设计控件名称就OK。
在加载数据的时候去
NSDate *now = [NSDatedate];
dataLabel.text=[NSDateFormatterlocalizedStringFromDate:now dateStyle:NSDateFormatterLongStyletimeStyle:NSDateFormatterNoStyle];
timeLabel.text=[NSDateFormatterlocalizedStringFromDate:now dateStyle:NSDateFormatterNoStyletimeStyle:NSDateFormatterLongStyle];
不过这里没有用到tabel Data Source Methods 方法,只要把这些方法注释掉即可。- IOS5基础十八------storyboard(动态原型单元和静态单元)
- IOS5基础之十一-----定制表视图单元
- 单元
- 内存单元和内存单元地址
- 11单元和12单元作业
- LInux第五单元和第六单元练习题
- uplaylistfrm 和 Drag_N_Drop 单元
- 工作单元和线程
- Matlab基础之单元数组和结构数组
- 音频单元托管基础草稿
- 无用单元和悬挂引用
- 代码点和代码单元
- 关于PLD和宏单元
- 代码单元和代码点
- 代码点和代码单元
- 自动化单元和集成测试
- 六管静态基本单元电路
- ARM存储管理单元MMU和存储保护单元MPU
- WP SDK7.1中文版+SDK7.1.1更新包安装方法
- HDOJ 1022 Train Problem I
- Fedora x64 17连接wpa加密的无线路由器
- java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind
- 应用mina的例子做了一些修改,但有关于连接数的问题
- IOS5基础十八------storyboard(动态原型单元和静态单元)
- dom4j解析xml实例
- Linux性能监控(1)
- N queen
- 作业
- android listview 多次addHeaderView()异常解决方法!
- POJ 3211 Washing Clothes
- python 带default的switch
- 《DirectX学习经典参考书籍 电子书下载》