做为自己的开发笔记。所以有点简单。
1.uitableView的基本用法和加载数据
//
// ViewController.m
// 微博布局
//
// Created by 虞海飞 on 16/3/3.
// Copyright © 2016年 虞海飞. All rights reserved.
//
#import "ViewController.h"
#import "abc_TableViewCell.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong) UITableView *tableView;
@property (nonatomic,strong) NSMutableArray *array;
@end
static NSString *CELL = @"abc";
@implementation ViewController
-(UITableView *)tableView{
if (!_tableView) {
_tableView = [UITableView new];
}
return _tableView;
}
-(NSMutableArray *)array{
if (!_array) {
_array = [NSMutableArray array];
}
return _array;
}
- (void)viewDidLoad {
[super viewDidLoad];
NSDictionary *dic_01 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"",@"label_02",nil];
NSDictionary *dic_02 = [NSDictionary dictionaryWithObjectsAndKeys:@"",@"label_01",@"",@"label_02",nil];
NSDictionary *dic_03 = [NSDictionary dictionaryWithObjectsAndKeys:@"",@"label_01",@"qqqqqqqqqqqqq",@"label_02",nil];
NSDictionary *dic_04 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"",@"label_02",nil];
NSDictionary *dic_05 = [NSDictionary dictionaryWithObjectsAndKeys:@"",@"label_01",@"",@"label_02",nil];
NSDictionary *dic_06 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"",@"label_02",nil];
NSDictionary *dic_07 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"wwww",@"label_02",nil];
NSDictionary *dic_08 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"wrwrwr",@"label_02",nil];
NSDictionary *dic_09 = [NSDictionary dictionaryWithObjectsAndKeys:@"qqqqqqqqqqqqq",@"label_01",@"qqqqqqqqqqqqq",@"label_02",nil];
[self.array addObject:dic_01];
[self.array addObject:dic_02];
[self.array addObject:dic_03];
[self.array addObject:dic_04];
[self.array addObject:dic_05];
[self.array addObject:dic_06];
[self.array addObject:dic_07];
[self.array addObject:dic_08];
[self.array addObject:dic_09];
self.tableView.delegate = self;
self.tableView.dataSource = self;
}
-(void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self add_View];
}
-(void) add_View{
[self.view addSubview:self.tableView];
//用自动布局
self.tableView.translatesAutoresizingMaskIntoConstraints = NO;
//top
NSLayoutConstraint *top_Constraint = [NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.0];
[self.view addConstraint:top_Constraint];
//right
NSLayoutConstraint *right_Constraint = [NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0.0];
[self.view addConstraint:right_Constraint];
//left
NSLayoutConstraint *left_Constraint = [NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.0];
[self.view addConstraint:left_Constraint];
//bottom
NSLayoutConstraint *bottom_Constraint = [NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.0];
[self.view addConstraint:bottom_Constraint];
}
#pragma mark -- 一组多少个
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.array.count;
}
#pragma mark -- 多少组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
abc_TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CELL];
if (!cell) {
cell = [[abc_TableViewCell alloc] initWithFrame:self.tableView.frame];
}
NSMutableDictionary *dic = self.array[indexPath.row];
cell.dic = dic;
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
return cell.frame.size.height;
}
@end
//
// abc_TableViewCell.m
// 微博布局
//
// Created by 虞海飞 on 16/3/3.
// Copyright © 2016年 虞海飞. All rights reserved.
//
#import "abc_TableViewCell.h"
@interface abc_TableViewCell ()
@property (nonatomic,strong) UILabel *label_01;
@property (nonatomic,strong) UILabel *label_02;
@property (nonatomic,strong) UIButton *button_01;
@property (nonatomic,strong) UIButton *button_02;
@end
@implementation abc_TableViewCell
- (void)awakeFromNib {
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
//这个是调用代码用的方法
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
_label_01 = [UILabel new];
_label_02 = [UILabel new];
}
return self;
}
-(void) setDic:(NSMutableDictionary *)dic{
_dic = dic;
[self add_View];
}
-(void) add_View{
NSString *string_Label_01 = [self add_JudgeNull_NSString:self.dic[@"label_01"]];
if (![string_Label_01 isEqualToString:@""]) {
_label_01.frame = CGRectMake(10, 10, 200, 40);
}
else{
_label_01.frame = CGRectMake(10, 10, 200, 0);
}
_label_01.backgroundColor = [UIColor redColor];
_label_01.text = string_Label_01;
NSString *string_Label_02 = [self add_JudgeNull_NSString:self.dic[@"label_02"]];
if (![string_Label_02 isEqualToString:@""]) {
_label_02.frame = CGRectMake(10, CGRectGetMaxY(_label_01.frame)+10, 200,40);
}
else{
_label_02.frame = CGRectMake(10, CGRectGetMaxY(_label_01.frame), 200, 0);
}
_label_02.backgroundColor = [UIColor blueColor];
_label_02.text = string_Label_02;
CGRect rect = CGRectMake(0, 0, 400,CGRectGetMaxY(_label_02.frame)+10);
self.frame = rect;
[self addSubview:self.label_01];
[self addSubview:self.label_02];
}
-(NSString *) add_JudgeNull_NSString:(id)id{
NSString *string = id;
if (![string isEqualToString:@""]) {
return string;
}
return @"";
}
@end
3,效果图