设置导航栏透明,tableview不能下拉,并默认起点(0,0),页面消失后导航栏还原

来源:互联网 发布:可视化编程的最大优点 编辑:程序博客网 时间:2024/06/07 23:16

//

//  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 {

    [superviewDidLoad];

    self.navigationController.navigationBar.translucent = YES;

    

    self.myTableView = [[UITableViewalloc] initWithFrame:CGRectZerostyle:UITableViewStyleGrouped];

    [self.viewaddSubview:self.myTableView];

    [self.myTableViewmas_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.myTableViewregisterClass:[MineTableViewCellclass] forCellReuseIdentifier:@"MineTableViewCell"];

    

    //设置tableview偏移置顶

    self.myTableView.contentOffset =CGPointMake(0.0,0.0);

    

    UIView *hView = [[UIViewalloc]initWithFrame:CGRectMake(0,0, SCREEN_SIZE_WIDTH,180)];

    UIView *headerBkgView = [[UIViewalloc]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 = [[UIImageViewalloc]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 = [UIColorwhiteColor];

    

    //名字

    UILabel *nameLabel = [[UILabelalloc]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 = [UIColorwhiteColor];

    nameLabel.text =@"哈哈哈哈";

    nameLabel.textAlignment =NSTextAlignmentCenter;

    

    //地址

    UILabel *addressL = [[UILabelalloc]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 = [UIColorwhiteColor];

    addressL.text =@"黑龙江省佳木斯市";

    

    //图标

    UIImageView *addressIcon = [[UIImageViewalloc]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 = [UIImageimageNamed:@"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 = [headerBkgViewsystemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;

    CGRect frame = headerBkgView.frame;

    frame.size.height = height;

    headerBkgView.frame = frame;

    self.myTableView.tableHeaderView = headerBkgView;

    


    self.dataArr = [@[@"我的厘米",@"收益统计",@"代金券",@"排行榜",@"我的搜藏",@"地址管理",@"客服",@"消息中心",@"我的笔记"]mutableCopy];


}


-(void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    //统一导航样式

    [self.navigationController.navigationBarsetBackgroundImage:[[UIImagealloc] init]forBarMetrics:UIBarMetricsDefault];

    

    //去掉透明后导航栏下边的黑边

    [self.navigationController.navigationBarsetShadowImage:[[UIImagealloc] init]];


}


-(void)viewWillDisappear:(BOOL)animated{

    [superviewWillDisappear:animated];

    //统一导航样式

    [self.navigationController.navigationBarsetBackgroundImage:nilforBarMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBarsetShadowImage: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{

    return1;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    returnself.dataArr.count;

}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.row ==8) {

        MineTableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:@"MineTableViewCell"forIndexPath:indexPath];


        cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;

        cell.titleTextL.text =self.dataArr[indexPath.row];

        cell.titleImgv.image = [UIImageimageNamed:@"temp_dianzan_red"];

        

        return cell;

        

    }else {

        MineTableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:@"MineTableViewCell"forIndexPath:indexPath];

        cell.selectionStyle =UITableViewCellSelectionStyleNone;

        cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;

        cell.titleTextL.text =self.dataArr[indexPath.row];

        cell.titleImgv.image = [UIImageimageNamed:@"temp_dianzan_red"];

        return cell;

    }

}


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.row ==8) {

    //跳转我的笔记

        

    }else {

        

    }



}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // 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



0 0
原创粉丝点击