旅行|18年后的旧地重游,只也纵身一跃。

文/丁小雅     图/丁小雅

背景

screenCut.gif

其一作用是今天商家项目里被上之,也是首先糟糕被见这种要求,所以记录下来,效果使齐图。需求主要是可以兑现上下的滑动,并且以最左边的“线路名称”这无异于列于向阳左滑动的当儿是无克跟滚动的。这个功能要是兑现用户可以好查看关于一下难看全的列表数据。下面说一下思路。

机及之晚霞

代码大体思路

由于点的GIF图和中心需要描述我们首先单想到的物就是文武双全的tableview,没错,这个效应的成功本去不起头tableview,那么tableview应该怎么发挥它的功也,左右侧的音讯用对称,所以当此地自己动用了一定量只tableview,也尽管是极左边线路名称这无异排是一个tableview,右侧的粉红色字体这些实践是一个tableview。上下滑动两者关系是行使scrollview完成的。那接下去便组成代码简单说一下,也利于我事后回头看,哈哈哈。

18年晚又来到此地——澳门,其实是自个儿想得到的,没有呀心心念念,也从没什么周密计划,更无所谓18年后的大循环,而刚好就是这般巧合,整整隔了18年,隔了一个成人礼。

代码解析

  • 旋即是需要之原材料,每个变量都产生注释它的意义了,一眼懂。titleTableView凡极度左边的线路名称这同一列。infoTableView大凡粉红色字体这些。contentViewtitleTableView以及最好上(除了“线路名称”)这无异于列内容的superView

@property (nonatomic, strong) UITableView *titleTableView;//标题TableView
@property (nonatomic, strong) UITableView *infoTableView;//内容TableView
@property (nonatomic, strong) UIScrollView *contentView;//内容容器
@property (nonatomic, strong) NSArray *infoArr;//数组

@end

@implementation ViewController {
    CGFloat _kOriginX;
    CGFloat _kScreenWidth;
    CGFloat _kScreenHeight;
}
  • 当即是所要的数目配置,我管内部装有需要之数码都置身数组李典里面了。我比累。哈哈哈哈

- (void)configData {

    _kOriginX = 120;
    _kScreenWidth = self.view.frame.size.width;
    _kScreenHeight = self.view.frame.size.height;
    _infoArr = @[@{@"title":@"出团日期", @"routeName":@"线路名称一", @"time":@"2015/11/21", @"num":@"20", @"price":@"124.0", @"code":@"DAGSDSASA"},
                 @{@"title":@"余位", @"routeName":@"线路名称二", @"time":@"2015/11/21", @"num":@"34", @"price":@"234", @"code":@"TAGDFASFAF"},
                 @{@"title":@"价格", @"routeName":@"线路名称三", @"time":@"2015/11/21", @"num":@"12", @"price":@"634", @"code":@"GHGASDAS"},
                 @{@"title":@"团代号", @"routeName":@"线路名称四", @"time":@"2015/11/56", @"num":@"54", @"price":@"632", @"code":@"DAADSFAD"}];
}
  • 分割步来拘禁,首先是头的,这个titleLabel举凡极端荒唐上比赛的“线路名称”这四只字,contentView的配备,上面说了是contentView的企图的,从它的frame看出来,_contentView = [[UIScrollView alloc] initWithFrame:CGRectMake(_kOriginX, 0, _kScreenWidth - _kOriginX, _kScreenHeight)];它的x_kOriginX啊就是是留下的极致左边的长空。最上面的平列下for循环创建出来的label

//MARK:- 头部视图
- (void)configTableHeader {

    UILabel *titleLabel = [self quickCreateLabelWithLeft:0 width:_kOriginX title:@"线路名称"];
    [self.view addSubview:titleLabel];

    _contentView = [[UIScrollView alloc] initWithFrame:CGRectMake(_kOriginX, 0, _kScreenWidth - _kOriginX, _kScreenHeight)];
    _contentView.delegate = self;
    _contentView.showsVerticalScrollIndicator = NO;
    _contentView.showsHorizontalScrollIndicator = NO;
    _contentView.contentSize = CGSizeMake(400, _kScreenHeight);
    _contentView.bounces = NO;
    [self.view addSubview:_contentView];

    for (int i = 0; i < _infoArr.count; i++) {
        CGFloat x = i * 100;
        UILabel *label = [self quickCreateLabelWithLeft:x width:100 title:[[_infoArr objectAtIndex: i] objectForKey:@"title"]];
        label.textAlignment = NSTextAlignmentCenter;
        [_contentView addSubview:label];
    }
}
  • 那接下去便安排最左边那一栏同左粉红色字体那些实行。也尽管这点儿个tableview创建的。

//MARK:- 详细内容
- (void)configInfoView {
    _titleTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 40, _kOriginX, _kScreenHeight) style:UITableViewStylePlain];
    _titleTableView.dataSource = self;
    _titleTableView.delegate = self;
    _titleTableView.showsVerticalScrollIndicator = NO;
    _titleTableView.showsHorizontalScrollIndicator = NO;
    _titleTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    [self.view addSubview:_titleTableView];

    _infoTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 40, 400, _kScreenHeight) style:UITableViewStylePlain];
    _infoTableView.delegate = self;
    _infoTableView.dataSource = self;
    _infoTableView.showsVerticalScrollIndicator = NO;
    _infoTableView.showsHorizontalScrollIndicator = NO;
    _infoTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    [_contentView addSubview:_infoTableView];
}
  • 当时是tableview的代办方实现。在cellForRowAtIndexPath以此代理方中,将鲜独tableviewcell分开来描写。

//MARK:- UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return _infoArr.count;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

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

    if (tableView == _titleTableView) {
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"titleTable"];
        if (!cell) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"titleTable"];
        }
        cell.textLabel.textAlignment = NSTextAlignmentCenter;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.textLabel.text = [[_infoArr objectAtIndex:indexPath.row] objectForKey:@"routeName"];
        cell.textLabel.textColor = [UIColor lightGrayColor];
        cell.textLabel.font = [UIFont systemFontOfSize:14];
        if (indexPath.row%2 == 1) {
            cell.backgroundColor = [UIColor colorWithRed:218/255.0 green:218/255.0 blue:218/255.0 alpha:1];
        } else {
            cell.backgroundColor = [UIColor whiteColor];
        }
        return cell;
    } else {
        NSString *ident = @"InfoCell";
        InfoCell *cell = [tableView dequeueReusableCellWithIdentifier:ident];
        if (!cell) {
            cell = [[[NSBundle mainBundle] loadNibNamed:@"InfoCell" owner:nil options:nil] lastObject];
        }
        if (indexPath.row%2 == 1) {
            cell.backgroundColor = [UIColor colorWithRed:218/255.0 green:218/255.0 blue:218/255.0 alpha:1];
        } else {
            cell.backgroundColor = [UIColor whiteColor];
        }
        [cell setDataWithStr:[_infoArr objectAtIndex:indexPath.row]];
        return cell;
    }
}

//MARK:- UITableViewDelegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 40;
}

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

    NSLog(@"选中了%@", [_infoArr[indexPath.row] objectForKey:@"routeName"]);
}
  • 这法子就是是兑现上下滑动时候,左侧和右手tableview联动的贯彻方式。

//MARK:- UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == _titleTableView) {
        [_infoTableView setContentOffset:CGPointMake(_infoTableView.contentOffset.x, _titleTableView.contentOffset.y)];
    }
    if (scrollView == _infoTableView) {
        [_titleTableView setContentOffset:CGPointMake(0, _infoTableView.contentOffset.y)];
    }
}

从今某次偶然看到了《高能少年团》里面,张一山等人口自澳门旅游塔上蹿下之那么一刻,那所塔,就变成了我之意清单,虽然遇到人就算说,我如果错过澳门塔蹦极,但是这话说久了,自己尚且抢没激情了,我非知情我会什么时去贯彻这愿望,看似遥不可及,却同时以为近在咫尺,大概我为发生相同种拖延症的习惯,一桩业务,以为自己说了成百上千举,就接近做过了相同。

总结

咦,写了觉呢是比较简单,就是中心方式的配合以,当时想的下啊是从来不能够瞬间怀念出去,还是要好基本功不好的由吧。把这功效的落实记录在此,也是为唤起自己,也便是以此效果于简略,但是再次如何的法力还是靠极中心的事物堆砌的。思想非常要紧,但是绝要之尚是去落实,光想没有因此,人无是乘嘴活的。与当今共勉。
额头,这个是本人从在盹写了的,如果你看来此了,真的是特别感谢,有半点困了,北京,晚安。

代码地址:https://github.com/irembeu/HorizontalSwipListView.git

截至兔兔给本人说要是伴随我错过跳那所塔,随时出发都可以,我之胸又再次躁动起来,我们之所以了大致10天左右的工夫召开攻略,订酒店机票与蹦极。额,其实是兔兔用了盖10天时间做攻略,我只是去续了一个口岸澳签证,什么都未曾开。

今日就给大家聊一下咱的澳门蹦极旅行攻略吧,没错,又是兔兔做的,跟一个借助谱的人旅行,是同码相当强的业务,简直出差旅行必备佳品。

旅行前准备:

1.签证:港澳通行证一定要提早加,提前上,没有证明的大势所趋要再早提前办理。因为自己控制的绝匆忙,所以周一才去干上签,周四晚上才接到,还是不鸣金收兵打电话催的结果,而自己周五即假设因此了,真的好揪心通行证寄不至,那自己哪怕设浪费非常把白的银子了。

流动:貌似交给旅行社办理会非常高效,兔兔就是付旅行社续的,一天就搞定矣。

2.机票、酒店:机票酒店不用说,肯定使提前一定的,因为巧过了国庆节,机票还是于便于的,而酒店,因为凡在周日,所以比较平常还是有些贵有。我们错过的当儿是起郑州竟香港的,两口3054第一。回的时是自从珠海磨郑州底,两总人口800元,超级福利有没产生!!这是自家坐了极端有益的飞行器了。住宿为蹦极方便,我们选在了去澳门塔很贴近的濠璟酒店,大概一晚900处女。

3.支付:兔兔提前在银行更换的5000港币,可以以澳门流通,与澳币1:1之施用。大部门地方都是可刷卡的,少一些地方吗可以动用支付宝与微信,但是多少店之支付宝和微信还是人民币和澳币1:1采用,有一部分幸好了。

流动:当地公交车基本还是3.2MOP的,不搜零,所以若是坐公交,记得提前转移零钱,还有一部分公交是比照里程收费的,路线图上目的地之地方标的价钱虽是您要付的标价。

出租车是不要顾虑零钱问题的,但是最为好去各大酒店门口打车,不然当半路会较难以由及车。

4.流量:我事先出境都是打电话卡,还要换卡超级麻烦,其实可以直接开始单国际漫游,然后单独在网上初步一个境外流量包,到了境外,直接就是激活使用了,相当之利。我们开了1天香港流量15.8首,3上澳门流量30初,不限流量噢!

5.景点:能够确定行程的风景最提前订,万能的某宝上什么还发,而且还特别便利,不然就要现场选购浪费广大钱了,拿那么剩下的钱去吃东西多好对非对准。

旅行中:

首先天:郑州新郑机场——香港赤鱲(la)角国际机场——澳门濠璟酒店

由于当天莫直飞澳门之航班,所以我们反了一致遍香港,然后在机场里沿着图标,找到“金光飞航”的柜台,没错,飞航其实就是船舶,购买至澳门氹(dang)仔客运码头的船票,船票可以网上定,也堪现场购买,由于船票不乱,为了时刻未困难凑,建议现场买,只能付现和刷卡买,一个人口284港币,网上进就支持支付宝和微信,购买时供证书(港澳通行证/护照)、机票(托运行李的内需提供机票,工作人员会将我们的使一直由飞机及搬至船上,不用我们协调获得行李,到了澳门下船再获得行李。)。

开船前30分钟检票入站,65分钟到达澳门氹仔客运码头,下船后先自助入境,再取行李。

鉴于夜间太晚矣,各大赌场酒店的成百上千免费发财车都停运了,可以选公共巴士(一般运营到01:00)或出租车(出租车比少,等待时会较丰富)。我们当及23:30才上之出租车,从氹仔客运码头到濠璟酒店约15分钟的车程。

排队齐出租车

处置了入住后,其实都0点了,前台说新葡京路那里吃的可比多,于是当酒店门口坐9路公交车,到达新葡京,但才找到同样下面馆,点了牌云吞面,真的吓清淡,但马上是咱澳门底第一顿饭。

吃罢饭走回酒店,1.5KM,澳门确比粗,暴走澳门你们可以试试一下。

其次天:澳门塔蹦极——陆军俱乐部——玛嘉烈蛋挞店——大三蹭——金莲花广场——渔人码头——澳门旅游塔360渡过自助旋转餐厅

随即和过来,就是以蹦极的,当然首先项工作,就是澳门塔!提前盖得上午11接触之蹦极,因为早底人口会晤少一些,不然排队会拿您免疯的,你得不见面想到怎么会发出那基本上口排队齐在跳楼。

俺们提前在某个宝订的批,包含照片和视频,一人口2900人民币,如果以柜台买,一人是3488mop,而且免带有照片及视频,取过票,就是急电梯直达61楼,这时候我们就紧张的开始手心出汗,身体呢粗发抖了,签下生死状后,就去换衣服了(衣服作为你还上塔的凭证),存物品的储物柜有星星点点栽,投币的,小之20澳币/港币,大的30澳币/港币,2小时外足以频繁开拓使用,记得将所有东西还怀着起来,因为你下后哪怕使未雨绸缪蹦极了,没有零钱的可以错过柜台换钱。

下一场就是称重(要求也40公斤以上,120公斤以下)、带带、等待、接着就是扑通一个,扑通一个,蹦极就得了了,如果下的一瞬,你能够紧很身体,让人维持竖直,那照会专程好看,但是一瞬间,我们连年本能的转腿了,真的就是是弹指之间,你会以为特别不可思议,就这样由传说被的世界首先高蹦极上过下来了,第一不善回弹后,你如果左手拉一下在脚边的绳子,没错,就是于上空倒立着坐卷腹,不然你足足不至绳子的,拉了后,你虽改为坐姿了,就可以开始对在右手的Gopro说一些好话,观赏一下澳门的光景。拉非起绳子也从未提到,大莫了即是条一直朝着下,会小麻烦让有。

接下来凭衣服,再次回61楼,取照片、视频、会员卡还有存的事物,会员卡是同一摆设张,写有姓名,再届澳门蹦极的话,出具会员卡,第二不善及老三不善的价一旦1288澳门币,不分包照片以及视频,第四蹩脚开始就是免费,在天下有AJ旗下的蹦极都免费。

澳门塔蹦极

就算是这样快,我之澳门塔蹦极就做到了,超级开心,感觉一切人口犹专门兴奋,午饭选择以了陆军俱乐部,提前打电话预约了了职,据说是同等家比较出色的葡国菜,菜地道不美,这个自的确不明白,服务员不见面说汉语,真的好地道,还好我们会全球通用肢体语言,菜单上发出198mop一各项之自助餐,但咱本选择独自点了,虽然为不知道点的是呀,你问问我味道怎样?我只能说俺们吃的是色彩。

陆军俱乐部葡国菜

凭着了饭,就去矣传说着为了这个蛋挞也值得跑同道澳门之玛嘉烈蛋挞店,排队的人头确实挺多的,10mop一个蛋挞,16mop一海冰奶茶,味道还是对的。

玛嘉烈蛋挞店

继之,大三巴牌坊,这里才是几乎所有游客还见面来之地方,人特别多,在往大三蹭的大街里,有众多进手信的旅舍,如英记饼家,晃记饼家等。我为于这边碰了同摆设与18年前的对遵循。

18年之对待

自此倒及了渔人码头,看起如一个废旧的遗址,然后拍,走人。

晚上,我们而回来了澳门塔,这次是去蹦极下面一层的360过自助旋转餐厅(提前打电话可以预定靠窗位置,比有宝贵一些,一个人550mop,但如某宝购买,虽然便民,但非能够担保一定靠窗),为了靠窗,我们以洒金原价电话定矣,其实餐厅的晚饭或好丰盛的,海鲜也很香的,奈何肚子实在有点,没吃多少。坐于食堂进餐,整个就餐区会逐渐的盘,当你去座位去拍照,或者去取得食的时候,你就是见面找不顶您的案子了,一直蒙圈中。当座椅转至蹦极下面时,你见面看出头顶的蹦极台,这时候还有人口以夜幕蹦极,你可边吃边看别人过,其实看他人跳比自己越好人大半了,特别是重复配上四周人大喊的鸣响。餐厅内部冷气开的特别丰富,所有海鲜为主都是冷食,冻得我只能当平积海鲜面前抱在平等碗热面久吃的津津有味。

澳门塔360度旋转餐厅

其三天:路环陈胜记——安德鲁蛋挞店——澳门威尼斯人贡多拉游船——官为会——新濠影汇8配摩天轮——巴黎人口

鉴于澳门水舞间上演10月17日-10月26日休息,所以原定去看之计划泡汤,如果只要错过押水舞间的朋友,记得提前查询好放日。

俺们打车去了陈胜记吃中饭,传说着米其林指南和舌尖上的华都发生推荐,但是中午12沾才营业,其实她是独十分排档,所以,晚上来吃,迎着海风,喝在小酒,应该会还发生feel一些。

少数个人点半才陈皮鸭就足够了,海鲜是时令供应,我们这次又尚未吃到,没有海鲜,就接触了椒盐排骨和炒通菜,味道还对。没错,昨天凭着的是色彩,今天吃的凡饭。

步行至安德鲁蛋挞店,老板与玛嘉烈蛋挞店之业主是小两口,安德鲁蛋挞店的蛋挞是9mop/个,奶茶是10mop/杯。普遍都比玛嘉烈蛋挞店的好,区别也没吃出,只是排队的丁犹多。

紧接下去就每个攻略都有澳门威尼斯人了,如果假定因为贡多拉游艇,最好提前网上购票,还要打印确认才,不然现场买会特别贵,我们以平等蹩脚举行了冤大头,浪费钱绝掉价了,买完票就尽快去排队坐船,一般一艘船是4单人口,如果少只人思念包船的话语,价格是512mop。我们那条船只的船长是各项意大利靓女,会及你拉(英文),给您唱(意大利曲),不得不说,歌唱的正确。还有,下船的早晚,记得给小费,一般还是20mop(记得都零钱,不要像兔兔一样,给了50mop,真是太败家了)。游船一趟下来,大概十五分钟左右。

贡多拉游艇

晚饭选在了无也摆之诚昌饭店,主要为品尝它的水蟹粥,味道还不易,椒盐田鸡也对,就是我们胃太小了,吃不了,遗憾被猪扒包和木糠布甸都没留肚子尝了。

最终就是是特别高大上之初濠影汇8配摩天轮,夜景一般,没有外观看起那么高大上,但是要记得一定要是网上采购票,一定要是网上购得票,一定要网上购得票,你会领悟某宝卖15首先,我们现场选购的80最先呢?多的钱足够自己请小炸鸡吃了,真是太浪费了。

8配摩天轮

摩天轮旁边就是巴黎人口,没夺过巴黎,就作一下每当巴黎好了,里面的赌场需要出示证件才能够入,但是连无会见玩,看无懂得,只知凡是勿能够拍的。

巴黎人

季龙:珠海金湾机场——郑州新郑机场**

提早15分钟为酒店预定了出租车去珠海海关,从珠海倒,海关查的宽大,都是自助机器过关,但是珠海机场于小,安检了特别久,一定要是早点走。

不得不说郑州新郑机场之出租车服务,真的比澳门好最多了!为我们挺郑州点赞!

写于结尾:

这足以说又是平庙会说走就走的远足了,应该于上次星期飞昆明羁押周杰伦演唱会还要疯狂,前同秒我还在上班,下一致秒我虽站于了233米的蹦极台上,有人说蹦极是会上瘾的,我大体就是上瘾了咔嚓,从第一不良的50米,到第二不良的82米,再至当下第三不善的233米,没有第一不善的慌张与干净,更多之是分享这种自由,特别感谢兔兔陪自己进行了如此同样会狂之说走就走。

实则诚多工作,没有那么多漫长条框框,没有那基本上应该跟非应当,没有那么多的能与匪能够,我们连羡慕别人的生活,总是在一点一滴别人的视角,其实哪起所谓的值得与不值得,我情愿,就吓。

这些天我听见最多的讲话就是你周末零星天跑澳门狂了咔嚓?你花费几千片去跳楼疯了吧?

倘放在以前,我或许会见急于解释有政工,向他们证明自身的见解,或者为她们说服,觉得自己最好作了,太浪费钱了,可是现在己未会见了,我只见面笑着放她们说,点头表示同意,然后进下一个目的地的批。

微博及一度发出平等截转发了百万底讲话:

当你只见在计算机时,阿拉斯加底鳕鱼正跳出水面;

当你愁眉发呆时,梅里雪山之金丝猴刚好爬上树尖;

当你挤地铁时,西藏的云鹰直入云端;

当您及上级争吵时,尼泊尔的背包客已端起酒杯围以火堆旁;

斯世界,有一部分赛及鞋走不顶的路,有一些喷洒在香水闻不至的气氛,有部分当写字楼里永恒被不顶的食指。

究竟总有一部分事务,你现在不失去开,你永远不会见失掉做。

尽管比如蹦极台上勾画的:Everyday do something that reminds you you’re still
alive.


本身是丁小雅

一个不遗余力活,又蛮粘人的小鱼儿。

倘若文章对而出就一点点底觉醒,欢迎点赞、打赏、分享。

往期文章:

外只字未提我娶你,你也句句都是自个儿愿意

好您太累,我想休息了

爱不到最后没关系