iOS ofo (1)首頁

效果圖

ofo(1)首頁.gif
  • 1.版本會持續(xù)更新
  • 2.此版本中只做了首頁界面
  • 3.下版本中會增加地圖

代碼如下

//
//  HomeViewController.m
//  OFO共享單車
//
//  Created by 紀高飛 on 17/5/15.
//  Copyright ? 2017年 紀高飛. All rights reserved.
//

#import "HomeViewController.h"
#import "GFUITools.h"
#import "HomeTableViewCell.h"


@interface HomeViewController ()<UITableViewDelegate,UITableViewDataSource>

/**當前l(fā)ab**/
@property (nonatomic,strong) UILabel *currenLab;

/**左側視圖*/
@property (nonatomic,strong) UIView *leftView;
/**tableView*/
@property (nonatomic,strong) UITableView  * tableView;
/**圖片數(shù)據(jù)源*/
@property (nonatomic,strong) NSMutableArray  * picArray;
/**title數(shù)據(jù)源 */
@property (nonatomic,strong) NSMutableArray  * titleArray;
@end
static NSString *identifier = @"cell";
 @implementation HomeViewController
#pragma mark - 懶加載
- (NSMutableArray *)picArray
{
    if (!_picArray) {
        self.picArray  = [[NSMutableArray alloc]init];
    }
    return _picArray;
}
- (NSMutableArray *)titleArray
{
    if (!_titleArray) {
        self.titleArray = [[NSMutableArray alloc]init];
    }
    return _titleArray;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    [self loadData];
    [self setUpNavViews];
    [self setUpLeftView];
    [self setUpInvationView];
    [self setUpBottomViews];
}
#pragma mark - 加載數(shù)據(jù)源
- (void)loadData
{
    self.titleArray = @[@"我的行程",@"我的錢包",@"輸入優(yōu)惠碼",@"邀請好友",@"使用指南",@"關于我們",].mutableCopy;
    
    self.picArray = @[@"HomePage_MyStroke",@"HomePage_MyWallet",@"HomePag_inviteCode",@"HomePage_Invite",@"HomePage_UserGuide",@"HomePage_AboutUs"].mutableCopy;
    
}


#pragma mark - 創(chuàng)建視圖
- (void)setUpNavViews
{

    UIImageView * centerView = [[UIImageView  alloc] initWithFrame:CGRectMake(0, 0, 85, 18)];
    centerView.image = [UIImage imageNamed:@"ofoLogo"];

    
    self.navigationItem.titleView = centerView;
    //創(chuàng)建左側
    UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    leftBtn.frame= CGRectMake(0, 0, 40, 40);
    [leftBtn addTarget:self action:@selector(leftBtnBarButtonItemAction:) forControlEvents:UIControlEventTouchUpInside];
    UIImage *leftBtnImage = [UIImage imageNamed:@"leftTopImage"];
    [leftBtn setImage:leftBtnImage forState:UIControlStateNormal];
    UIBarButtonItem *leftBarItem = [[UIBarButtonItem alloc]initWithCustomView:leftBtn];
    self.navigationItem.leftBarButtonItem = leftBarItem;
    
    // 創(chuàng)建右側
    UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    rightBtn.frame= CGRectMake(0, 0, 40, 40);
    [rightBtn addTarget:self action:@selector(rightBarButtonItemAction:) forControlEvents:UIControlEventTouchUpInside];
    UIImage *rightImage = [UIImage imageNamed:@"rightTopImage"];
    [rightBtn setImage:rightImage forState:UIControlStateNormal];
    UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc]initWithCustomView:rightBtn];
    self.navigationItem.rightBarButtonItem = rightBarItem;
    
}

- (void)leftBtnBarButtonItemAction:(UIButton *)sender
{
    NSLog(@"左");
    [UIView animateWithDuration:0.5 animations:^{
        CGRect rect = self.leftView.frame;
        rect.origin.x =0;
        self.leftView.frame = rect;
    }];

}

- (void)rightBarButtonItemAction:(UIButton *)sender
{
        NSLog(@"右");
}

// 創(chuàng)建左側視圖
- (void)setUpLeftView
{
    self.leftView = [[UIView alloc]initWithFrame:CGRectMake(-KScreenW, 0, KScreenW, kScreenH)];
    _leftView.backgroundColor = RGBA(0, 0, 0, 0.3);
    [ [UIApplication sharedApplication].keyWindow addSubview:_leftView];
 
    // 創(chuàng)建背景view
    UIView *whiteView  = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenW-80*kWidthScale, kScreenH)];
    whiteView.backgroundColor = [UIColor whiteColor];
    
   [self.leftView addSubview:whiteView];
    
    UIView *grayView =  [[UIView alloc]initWithFrame:CGRectMake(KScreenW-80*kWidthScale, 0, 80*kWidthScale, kScreenH)];
    [self.leftView addSubview:grayView];
    // 添加手勢
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapGestureAction:)];
    [grayView addGestureRecognizer:tapGesture];
    
    
    //  創(chuàng)建圖標
    UIImageView *cirImageView = [GFUITools createImageView:CGRectMake(25*kWidthScale, 35*kHeightScale, 60 *kWidthScale, 60 *kWidthScale) bgColor:nil imageName:@"UserInfo_defaultIcon"];
    [whiteView addSubview:cirImageView];
    
    // ofo圖標
    UILabel *ofoLab = [GFUITools createLabel:CGRectMake(100 *kWidthScale, 45*kHeightScale, 60 *kWidthScale, 17*kHeightScale) text:@"ofo" textAlignment:NSTextAlignmentLeft textColor:[UIColor blackColor] bgColor:nil font:17 *kHeightScale];
    [whiteView addSubview:ofoLab];
    
    // 認證圖標
    UIImageView *certificationImgView = [GFUITools createImageView:CGRectMake(100 *kWidthScale, 65*kHeightScale, 20*kWidthScale, 13*kHeightScale) bgColor:nil imageName:@"KeyTification_homePage"];
    [whiteView addSubview:certificationImgView];
    
    
    //認證圖標
    UILabel *certificationLab = [GFUITools createLabel:CGRectMake(125 *kWidthScale, 65*kHeightScale, 65*kWidthScale, 13*kHeightScale) text:@"已認證" textAlignment:NSTextAlignmentLeft textColor:CGRGray bgColor:nil font:13 *kHeightScale];
    [whiteView addSubview:certificationLab];
    
    // 信用
    UILabel *creditLab = [GFUITools createLabel:CGRectMake(100 *kWidthScale, 85*kHeightScale, 85*kWidthScale, 13*kHeightScale) text:@"信用分: 110" textAlignment:NSTextAlignmentLeft textColor:RGBA(97, 97, 97, 1) bgColor:nil font:13 *kHeightScale];
    [whiteView addSubview:creditLab];
    
    // 線line
    UILabel *line1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 125*kHeightScale, KScreenW-80*kWidthScale , 0.5)];
    line1.backgroundColor = CGRGray;
    [whiteView addSubview:line1];
    
    // 創(chuàng)建tabview
  
    
    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 126 *kHeightScale, KScreenW - 80 *kWidthScale, 293 *kHeightScale)];
    
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.scrollEnabled =NO;
    [self.tableView registerClass:[HomeTableViewCell class] forCellReuseIdentifier:identifier];
    
    [whiteView addSubview:self.tableView];
}

- (void)tapGestureAction:(UITapGestureRecognizer *)sender
{
    [UIView animateWithDuration:0.5 animations:^{
        CGRect rect = self.leftView.frame;
        rect.origin.x =-KScreenW;
        self.leftView.frame = rect;
    }];
}




// 創(chuàng)建邀請框
- (void)setUpInvationView
{
    UIView *invationView = [[UIView alloc]initWithFrame:CGRectMake(5 *kWidthScale, 69 *kHeightScale, KScreenW - 10 *kWidthScale, 35*kHeightScale)];
    invationView.backgroundColor = [UIColor whiteColor];
    invationView.layer.cornerRadius = 5;
    invationView.layer.masksToBounds = YES;
    [self.view addSubview:invationView];
    
    
    UIImageView *addImgView = [GFUITools createImageView:CGRectMake(10 *kWidthScale, 10 *kHeightScale, 16*kWidthScale, 16*kWidthScale) bgColor:nil imageName:@"add"];
    [invationView  addSubview:addImgView];
    
    
    UILabel *titleLab = [GFUITools createLabel:CGRectMake(40 *kWidthScale, 10 *kHeightScale, 200 *kWidthScale, 15 *kHeightScale) text:@"邀請好友, 各得10元現(xiàn)金" textAlignment:NSTextAlignmentLeft textColor:nil bgColor:nil font:15*kHeightScale];
    [invationView addSubview:titleLab];
    
    
    
    UIImageView *rightImgView = [GFUITools createImageView:CGRectMake(340*kWidthScale, 10 *kHeightScale, 15*kWidthScale, 15*kWidthScale) bgColor:nil imageName:@"BlackNextPage"];
    [invationView  addSubview:rightImgView];
    
}
//  創(chuàng)建底部按鈕
- (void)setUpBottomViews
{
    UIButton *centerBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    centerBtn.frame = CGRectMake(KScreenW/2 - 50, kScreenH - 130, 100, 100);
    [centerBtn addTarget:self action:@selector(centerAction:) forControlEvents:UIControlEventTouchUpInside];
    [centerBtn setTitle:@"立即用車" forState:UIControlStateNormal];
    [centerBtn setBackgroundImage:[UIImage imageNamed:@"userBikeImage"] forState:UIControlStateNormal];
 
    [centerBtn setTitleColor:RGBA(254, 215, 49, 1) forState:UIControlStateNormal];
    [self.view addSubview:centerBtn];
    
    
    UIButton *bottomeLeftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    bottomeLeftBtn.frame = CGRectMake(20, kScreenH - 130+100-60, 60, 60);
    [bottomeLeftBtn addTarget:self action:@selector(bottomeLeftBtnAction:) forControlEvents:UIControlEventTouchUpInside];
    [bottomeLeftBtn setBackgroundImage:[UIImage imageNamed:@"leftBottomImage"] forState:UIControlStateNormal];
        [self.view addSubview:bottomeLeftBtn];
    
    
    UIButton *bottomeRightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    bottomeRightBtn.frame = CGRectMake(KScreenW - 80, kScreenH - 130+100-60, 60, 60);
    [bottomeRightBtn addTarget:self action:@selector(bottomeRightBtnAction:) forControlEvents:UIControlEventTouchUpInside];
    [bottomeRightBtn setBackgroundImage:[UIImage imageNamed:@"rightBottomImage"] forState:UIControlStateNormal];
    [self.view addSubview:bottomeRightBtn];
    
    
    UIView *whiteView = [[UIView alloc]initWithFrame:CGRectMake(0, kScreenH - 30*kHeightScale, KScreenW, 30 *kHeightScale)];
    whiteView.backgroundColor =RGBA(255, 247, 247, 0.99);
    
    self.currenLab = [[UILabel alloc]initWithFrame:CGRectMake(10*kWidthScale, 10, KScreenW - 20 *kWidthScale, 20 *kHeightScale)];
    [whiteView addSubview:self.currenLab];
    [self.view addSubview:whiteView];

}
- (void)centerAction:(UIButton *)sender
{
    NSLog(@"立即用車");
    
  
}
- (void)bottomeLeftBtnAction:(UIButton *)sender
{
    NSLog(@"定位");
 
   
    
    
    


}
- (void)bottomeRightBtnAction:(UIButton *)sender
{
    NSLog(@"吐槽");
}

#pragma mark  - tableview代理方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 6;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 47 *kHeightScale;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    HomeTableViewCell *cell  = [tableView dequeueReusableCellWithIdentifier:identifier forIndexPath:indexPath];
    cell.titleLab.text = self.titleArray[indexPath.row];
    cell.selectionStyle = UITableViewCellAccessoryNone;
    cell.picImagView.image = [UIImage imageNamed:self.picArray[indexPath.row]];
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    self.tableView.separatorColor = [UIColor whiteColor];
    return cell;
 
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"點擊的是:%@",self.titleArray[indexPath.row]);
}

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末父阻,一起剝皮案震驚了整個濱河市什乙,隨后出現(xiàn)的幾起案子词顾,更是在濱河造成了極大的恐慌挣棕,老刑警劉巖轴术,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡惑畴,警方通過查閱死者的電腦和手機黍少,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門寡夹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厂置,你說我怎么就攤上這事菩掏。” “怎么了昵济?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵智绸,是天一觀的道長。 經常有香客問我砸紊,道長传于,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任醉顽,我火速辦了婚禮沼溜,結果婚禮上,老公的妹妹穿的比我還像新娘游添。我一直安慰自己系草,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布唆涝。 她就那樣靜靜地躺著找都,像睡著了一般。 火紅的嫁衣襯著肌膚如雪廊酣。 梳的紋絲不亂的頭發(fā)上能耻,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音亡驰,去河邊找鬼晓猛。 笑死,一個胖子當著我的面吹牛凡辱,可吹牛的內容都是我干的戒职。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼透乾,長吁一口氣:“原來是場噩夢啊……” “哼洪燥!你這毒婦竟也來了磕秤?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤捧韵,失蹤者是張志新(化名)和其女友劉穎市咆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體再来,經...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡床绪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了其弊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡膀斋,死狀恐怖梭伐,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情仰担,我是刑警寧澤糊识,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站摔蓝,受9級特大地震影響赂苗,放射性物質發(fā)生泄漏。R本人自食惡果不足惜贮尉,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一拌滋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猜谚,春花似錦败砂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至览芳,卻和暖如春斜姥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沧竟。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工铸敏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屯仗。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓搞坝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親魁袜。 傳聞我的和親對象是個殘疾皇子桩撮,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評論 25 707
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫敦第、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,098評論 4 62
  • 我小時候我媽對我常說的一句話是:大人的事小孩瞎摻和啥店量。 那時候聽了就有一種被拋棄的感覺芜果,只能自己躲在一邊玩積木。 ...
    盛南光閱讀 944評論 0 0
  • 在這個發(fā)燒加意欲嘔吐的晚上融师,一個人躺在寢室床上右钾,聽完幾首曲子,突然覺得自己好沒出息旱爆,博士到現(xiàn)在還沒畢業(yè)舀射。更遑論追求...
    TRVictory閱讀 348評論 0 0
  • 從前有記日記的習慣,東寫一點怀伦,西寫一點脆烟,上半年寫一點,下半月寫一點房待,零零散散邢羔,最后都丟掉了,就像日記里記錄的那些日...
    夏河聲閱讀 137評論 0 0