zoukankan      html  css  js  c++  java
  • 如何弹出UIDatePicker最好 不及格的程序员

    UIDateicker并没有继承UIPickerView,它的宽度只有iphone的宽度,在ipad上直接显示出来非常不协调,所以苹果建议用UIPopoverViewController来显示,所以你可以在里面任意定制。

    在iphone中显示需要手动配制动画,因为它只是一个视图。所以你有下面几种方式显示出一个UIDatePicker.

    • 使用UIView动画块从底部慢慢滑动上来
    • 嵌入到UIAlert或者UIActionSheet中
    • 将UIDateicker视图做为可输入控件的定制键盘,inputView.
    • 最后我的变态方案将两个UIDatePicker一起弹出,形成一个时间区域选择 
      •  1 NSLocale *locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"am_ET"] autorelease];
         2     
         3     
         4     UIDatePicker *datePicker1 = [[[IoriDatePicker alloc] initWithFrame:CGRectMake(-80, 0, 0, 0)] autorelease];
         5     UIDatePicker *datePicker2 = [[[UIDatePicker alloc] initWithFrame:CGRectMake(-80, 0, 0, 0)] autorelease];
         6     CGRect frame = datePicker1.frame;
         7     frame.origin.y = -frame.size.height*0.1/2l;
         8     datePicker1.frame = frame;
         9     datePicker2.frame = frame;
        10     datePicker1.transform =  CGAffineTransformMakeScale (0.9, 0.9);
        11     datePicker2.transform =  CGAffineTransformMakeScale (0.9, 0.9);
        12     
        13     NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Antarctica/Vostok"];
        14     NSCalendar *calendar = [NSCalendar currentCalendar];
        15     calendar.locale = locale;
        16     calendar.timeZone = timeZone;
        17     datePicker1.calendar = calendar;
        18     
        19     UIView *datePickerContaner = [[[UIView alloc] initWithFrame:CGRectMake(0, 30, 320, datePicker1.frame.size.height)] autorelease];
        20     UIView *datePickerView1 = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 160, datePickerContaner.frame.size.height)] autorelease];
        21     UIView *datePickerView2 = [[[UIView alloc] initWithFrame:CGRectMake(160, 0, 160, datePickerContaner.frame.size.height)] autorelease];
        22     datePickerView1.clipsToBounds = YES;
        23     datePickerView1.autoresizesSubviews = YES;
        24     datePickerView2.clipsToBounds = YES;
        25     datePickerView2.autoresizesSubviews = YES;
        26     datePickerView1.layer.borderWidth = 1;
        27     datePickerView1.layer.cornerRadius = 8;
        28     datePickerView2.layer.borderWidth = 1;
        29     datePickerView2.layer.cornerRadius = 8;
        30     [datePickerContaner addSubview:datePickerView1];
        31     [datePickerContaner addSubview:datePickerView2];
        32     
        33     
        34     datePicker1.datePickerMode = UIDatePickerModeTime;
        35     [datePickerView1 addSubview:datePicker1];
        36     
        37     
        38     datePicker2.datePickerMode = UIDatePickerModeTime;
        39     [datePickerView2 addSubview:datePicker2];
  • 相关阅读:
    [探索][管理]《现在,发现你的优势》
    【成功智慧】010.依靠忍耐度过困难时期
    爱情五十九课,就差一句话
    VSS2005 托管 VS2010代码
    一个网站的金字塔战略
    【成功智慧】013.脚踏实地的去做,没有完不成的任务
    MU.Bread 麦卡优娜
    【成功智慧】012.要有耐心去等待成功的到来
    【成功智慧】009.要能够承受所发生的事情
    【成功智慧】014.一日复一日的度过难关
  • 原文地址:https://www.cnblogs.com/ioriwellings/p/2879558.html
Copyright © 2011-2022 走看看