设置导航栏透明,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
- 设置导航栏透明,tableview不能下拉,并默认起点(0,0),页面消失后导航栏还原
- 导航栏透明以及tableview起点不能从navgationBar顶部开始问题
- 导航栏设置透明
- 设置导航栏透明
- 设置导航栏透明
- 设置导航栏透明
- 设置导航栏透明
- 设置导航栏透明
- 设置导航栏透明
- SVPullToRefresh下拉刷新后导致tableView被导航栏覆盖
- 设置透明的导航栏
- 导航栏设置为透明
- 设置iOS导航栏透明
- 设置导航栏全透明
- 页面导航下拉栏思路
- 导航栏渐变透明&下拉image放大
- 设置导航栏下拉菜单
- 导航栏变为透明,让黑线消失的方法
- Linux C 文件管理2
- javaScript实现弹出层效果
- web.xml is missing and <failOnMissingWebXml> is set to true
- Android Studio 网络编程 OkHttp3 用法
- System.arraycopy()从指定源数组中复制一个数组
- 设置导航栏透明,tableview不能下拉,并默认起点(0,0),页面消失后导航栏还原
- android开发游记:RecycleView 实现复杂首页布局三种方式
- Codeforces Round #373 (Div. 1) C.Sasha and Array
- 编辑器扩展——模板
- Android自定义控件之简介
- 重载函数
- OpenJudge - 2989 糖果 动态规划(DP) 重庆一中高2018级竞赛班第十一次测试 2016.9.24 Problem 2
- Module中无法使用R文件问题
- 关于js中var关键字的作用