DatePickerIos.mm

#import <UIKit/UIKit.h>

#import "RootViewController.h"

#import "DatePickerIos.h"

#import "DatePickerView.h"


@interface DatePickerViewController : UIViewController


- (void)show:(std::string)date;


@end


@interface DatePickerViewController () <DatePickerViewDelegate>

@property DatePickerView *dateView;

@end


@implementation DatePickerViewController


- (void)initSelf

{

    DatePickerView *dateView = [[DatePickerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 300)];

    dateView.delegate = self;

    dateView.title = @"请选择时间";

    dateView.cancel = @"取消";

    dateView.confirm = @"确认";

    //    dateView.isSlide = NO;

    //    dateView.date = @"2017-03-23 12:43";

    //    dateView.minuteInterval = 1;

    [self.view addSubview:dateView];

    self.dateView = dateView;

}


// 显示

- (void)show:(std::string)date

{

    if(self.dateView != nil){

        [UIView animateWithDuration:0.3 animations:^{

            self.dateView.frame = CGRectMake(0, self.view.frame.size.height - 300, self.view.frame.size.width, 300);

             NSLog(@"dateView show 显示");

            [self.dateView show];

        }];

    }

}


#pragma mark - THDatePickerViewDelegate

/**

 保存按钮代理方法

 

 @param timer 选择的数据

 */

- (void)datePickerViewSaveBtnClickDelegate:(NSString *)timer {

    NSLog(@"保存点击");

    if (self.dateView == nil) {

        NSLog(@"self.dateView == nil");

        return;

    }

    std::string date = [timer UTF8String];

    cocos2d::Director::getInstance()->getEventDispatcher()->dispatchCustomEvent("DataPickerEvent",&date);

    [UIView animateWithDuration:0.3 animations:^{

        self.dateView.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 300);

        }

                     completion:^(BOOL finished){

                         [self.dateView removeFromSuperview];

                         self.dateView = nil;

                     }

     ];

}


/**

 取消按钮代理方法

 */

- (void)datePickerViewCancelBtnClickDelegate {

    NSLog(@"取消点击");

    if (self.dateView == nil) {

        NSLog(@"self.dateView == nil");

        return;

    }

    [UIView animateWithDuration:0.3 animations:^{

        self.dateView.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 300);

    }completion:^(BOOL finished){

        [self.dateView removeFromSuperview];

        self.dateView = nil;

    }];

}


@end


DatePickerIos *DatePickerIos::datePickerIos = nullptr;


DatePickerIos *DatePickerIos::getInstance()

{

    if(datePickerIos == nullptr)

    {

        datePickerIos = new DatePickerIos();

    }

    

    return datePickerIos;

}


void DatePickerIos::setViewController(void* viewController)

{

    this->viewController = viewController;

    

    datePickerViewController = [[DatePickerViewController alloc] initWithNibName:nil bundle:nil];

    //[((DatePickerViewController*)datePickerViewController) initSelf];

    [((RootViewController*)viewController).view addSubview:((DatePickerViewController*)datePickerViewController).view];

}


void DatePickerIos::show(std::string date)

{

    [((DatePickerViewController*)datePickerViewController) initSelf];

    [((DatePickerViewController*)datePickerViewController) show:date];

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值