您的位置:首页 > 产品设计 > UI/UE

IOS-UIDatePicker/时间选取器 实例以及时区的选择

2012-11-24 11:43 513 查看
UIDatePicker 其实就是时间选取器,在IOS开发的过程中用到的非常多。

1.首先将Date Picker 以及 Round Rect Button拖动到 xib窗口中。

2.在controller.h中实现如下

#import <UIKit/UIKit.h>

@interface CRViewController : UIViewController

{

UIDatePicker * datePicker;

}

@property(retain,nonatomic) IBOutletUIDatePicker * datePicker;

-(IBAction) buttonPressed;

@end

3.在 controller.m中实现如下

@synthesize datePicker;

-(IBAction)buttonPressed

{

NSDate * selected = [self.datePicker date];

NSString * message = [[NSString alloc] initWithFormat:@"time is %@" , selected];

UIAlertView * alert = [[UIAlertViewalloc] initWithTitle:@"YOU"message:message delegate:nilcancelButtonTitle:@"OK"otherButtonTitles:nil ,nil];

[alert show];

[alert release];

[message release];

}

- (void)viewDidLoad

{

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

NSDate * now = [[NSDate alloc] init];

[datePickersetDate:now animated:NO];

[now release];

}

4.然后设置button的出发事件为buttonPressed,date picker的输出口为 datePicker

5.运行程序,选择事件,点击button,会发现好像“小时”显示的跟我们选择的是不一样的,这就设计到一个“时区”问题。

如果没有设置特点的时区,那系统使用的就是标准的0时区,而我们使用的是+8时区,所以需要对代码进行如下修改。

@synthesize datePicker;

-(IBAction)buttonPressed

{

NSDate * selected = [self.datePicker date];

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm +0800"];

NSString * message = [dateFormatter stringFromDate:selected];

UIAlertView * alert = [[UIAlertViewalloc] initWithTitle:@"YOU"message:message delegate:nilcancelButtonTitle:@"OK"otherButtonTitles:nil ,nil];

[alert show];

[alert release];

[dateFormatter release];

}

上面的代码对时间显示的格式以及时区进行了设定,运行后发现显示符合我们的要求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: