//
// MineViewController.m
//
#import "MineViewController.h"
#import "ConstantHeader.h"
#import <Masonry/Masonry.h>
#import "MineTableViewCell.h"
@interface MineViewController ()<UITableViewDelegate,UITableViewDataSource>
@property(nonatomic,strong) UITableView *myTableView;
@property(nonatomic,strong) NSMutableArray<NSString *> *dataArr;
@property(nonatomic,strong) UIButton *guanZhuBtn;
@property(nonatomic,strong) UIButton *fenSiBtn;
@property(nonatomic,strong) UILabel *beiZhanBtn;
@property(nonatomic,strong) UILabel *beiShouCangBtn;
@end
@implementation MineViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.translucent = YES;
self.myTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
[self.view addSubview:self.myTableView];
[self.myTableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(self.view);
make.size.mas_equalTo(self.view);
}];
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
self.myTableView.estimatedRowHeight = 40;
self.myTableView.rowHeight = UITableViewAutomaticDimension;
self.myTableView.backgroundColor = NORMAL_BKG_GREY;
[self.myTableView registerClass:[MineTableViewCell class] forCellReuseIdentifier:@"MineTableViewCell"];
//设置tableview偏移置顶
self.myTableView.contentOffset = CGPointMake(0.0, 0.0);
UIView *hView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_SIZE_WIDTH, 180)];
UIView *headerBkgView = [[UIView alloc]init];
[hView addSubview:headerBkgView];
[headerBkgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(0);
make.left.mas_equalTo(0);
make.width.mas_equalTo(SCREEN_SIZE_WIDTH);
make.height.mas_equalTo(200);
}];
headerBkgView.backgroundColor = MAIN_THEME_COLOR;
UIImageView *headImgv = [[UIImageView alloc]init];
[headerBkgView addSubview:headImgv];
[headImgv mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(headerBkgView.mas_centerX);
make.top.mas_equalTo(headerBkgView.mas_top).mas_offset(35);
make.size.mas_equalTo(CGSizeMake(85, 85));
}];
headImgv.layer.cornerRadius = 85/2;
headImgv.layer.masksToBounds = YES;
headImgv.backgroundColor = [UIColor whiteColor];
//名字
UILabel *nameLabel = [[UILabel alloc]init];
[headerBkgView addSubview:nameLabel];
[nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(headImgv.mas_bottom).mas_offset(TEXT_LINE_DISTANCE);
make.centerX.mas_equalTo(headImgv.mas_centerX);
make.left.mas_equalTo(TEXT_EDGE_DISTANCE);
make.width.mas_greaterThanOrEqualTo(5);
make.height.mas_lessThanOrEqualTo(35);
}];
nameLabel.font = MIDDLE_SECOND_FONT;
nameLabel.textColor = [UIColor whiteColor];
nameLabel.text = @"哈哈哈哈";
nameLabel.textAlignment = NSTextAlignmentCenter;
//地址
UILabel *addressL = [[UILabel alloc]init];
[headerBkgView addSubview:addressL];
[addressL mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(nameLabel.mas_bottom).mas_offset(TEXT_LINE_DISTANCE);
make.centerX.mas_equalTo(headImgv.mas_centerX).mas_offset(10);
make.left.mas_greaterThanOrEqualTo(TEXT_LINE_DISTANCE+15);
make.width.mas_greaterThanOrEqualTo(5);
}];
addressL.font = LITTLE_FONT;
addressL.textColor = [UIColor whiteColor];
addressL.text = @"黑龙江省佳木斯市";
//图标
UIImageView *addressIcon = [[UIImageView alloc]init];
[headerBkgView addSubview:addressIcon];
[addressIcon mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(addressL.mas_centerY);
make.right.mas_equalTo(addressL.mas_left).mas_offset(-5);
make.size.mas_equalTo(CGSizeMake(15, 15));
}];
addressIcon.image = [UIImage imageNamed:@"temp_address"];
[headerBkgView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(0);
make.left.mas_equalTo(0);
make.width.mas_equalTo(SCREEN_SIZE_WIDTH);
make.height.mas_equalTo(200);
}];
//指定tableHeaderView
CGFloat height = [headerBkgView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = headerBkgView.frame;
frame.size.height = height;
headerBkgView.frame = frame;
self.myTableView.tableHeaderView = headerBkgView;
self.dataArr = [@[@"我的厘米",@"收益统计",@"代金券",@"排行榜",@"我的搜藏",@"地址管理",@"客服",@"消息中心",@"我的笔记"] mutableCopy];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//统一导航样式
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
//去掉透明后导航栏下边的黑边
[self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
//统一导航样式
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
}
//设置tableview不能下拉
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint point = scrollView.contentOffset;
if (point.y <= 0) {
self.myTableView.contentOffset = CGPointMake(0.0, 0.0);
}
}
#pragma mark -----tableView代理事件-----
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.dataArr.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == 8) {
MineTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineTableViewCell" forIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.titleTextL.text = self.dataArr[indexPath.row];
cell.titleImgv.image = [UIImage imageNamed:@"temp_dianzan_red"];
return cell;
}else {
MineTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineTableViewCell" forIndexPath:indexPath];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.titleTextL.text = self.dataArr[indexPath.row];
cell.titleImgv.image = [UIImage imageNamed:@"temp_dianzan_red"];
return cell;
}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == 8) {
//跳转我的笔记
}else {
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end

本文介绍了一个iOS应用中个人中心页面的设计与实现过程,包括使用Masonry进行布局、UITableView的定制化显示及交互处理等内容。
891

被折叠的 条评论
为什么被折叠?



