iOS开发中Date Picker和UITool Bar控件的使用简介
一、date picker控件
1.简单介绍:
date picker显示时间的控件
有默认宽高,不用设置数据源和代理
如何改成中文的?
(1)查看当前系统是否为中文的,把模拟器改成是中文的
(2)属性,locale选择地区
如果默认显示不符合需求。时间有四种模式可以设置,在model中进行设置
时间可以自定义(custom)。
设置最小时间和最大时间,超过就会自动回到最小时间。
最大的用途在于自定义键盘:弹出一个日期选择器出来,示例代码如下:
2.示例代码
//
// yyviewcontroller.m
// datepicker
//
// created by apple on 14-6-3.
// copyright (c) 2014年 itcase. all rights reserved.
//
#import "yyviewcontroller.h"
@interface yyviewcontroller ()
/**
* 文本输入框
*/
@property (strong, nonatomic) iboutlet uitextfield *textfield;
@end
@implementation yyviewcontroller
- (void)viewdidload
{
[super viewdidload];
//1
//添加一个时间选择器
uidatepicker *date=[[uidatepicker alloc]init];
/**
* 设置只显示中文
*/
[date setlocale:[nslocale localewithlocaleidentifier:@"zh-cn"]];
/**
* 设置只显示日期
*/
date.datepickermode=uidatepickermodedate;
// [self.view addsubview:date];
//当光标移动到文本框的时候,召唤时间选择器
self.textfield.inputview=date;
//2
//创建工具条
uitoolbar *toolbar=[[uitoolbar alloc]init];
//设置工具条的颜色
toolbar.bartintcolor=[uicolor browncolor];
//设置工具条的frame
toolbar.frame=cgrectmake(0, 0, 320, 44);
//给工具条添加按钮
uibarbuttonitem *item0=[[uibarbuttonitem alloc]initwithtitle:@"上一个" style:uibarbuttonitemstyleplain target:self action:@selector(click) ];
uibarbuttonitem *item1=[[uibarbuttonitem alloc]initwithtitle:@"下一个" style:uibarbuttonitemstyleplain target:self action:@selector(click)];
uibarbuttonitem *item2=[[uibarbuttonitem alloc]initwithbarbuttonsystemitem:uibarbuttonsystemitemflexiblespace target:nil action:nil];
uibarbuttonitem *item3=[[uibarbuttonitem alloc]initwithtitle:@"完成" style:uibarbuttonitemstyleplain target:self action:@selector(click)];
toolbar.items = @[item0, item1, item2, item3];
//设置文本输入框键盘的辅助视图
self.textfield.inputaccessoryview=toolbar;
}
-(void)click
{
nslog(@"toolbar");
}
@end
实现效果:
二、uitool bar
在上面可以添加子控件toolbar中只能添加uibarbuttonitem子控件,其他子控件会被包装秤这种类型的
上面的控件依次排放(空格————)
有样式,可以指定样式(可拉伸的),一般用来做工具栏。
使用toolbar做点菜的头部标题
如何让点菜系统居中?在ios6中是正的,在ios7中是歪的
在自定义键盘上加上一个工具栏。
数组里什么顺序放的,就按照什么顺序显示
toolbar.items = @[item0, item1, item2, item3];
//设置文本输入框键盘的辅助视图
self.textfield.inputaccessoryview=toolbar;
好,让我们仔细来看一下uitool bar的用法。
1.首先,我们看一下uibbarbuttonitem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到uitoolbar上面去。
根据sdk的文档,我们可以发现uibarbuttonitem有如下几种初始化的方法:
-initwithtitle(添加button用这个)
-initwithimage
-initwithbarbuttonsystemitem(添加系统自定义的button,形状跟大小都已经固定了)下面链接里面有按钮图片样式
https://developer.apple.com/library/ios/#documentation/uikit/reference/uibarbuttonitem_class/reference/reference.html
-initwithcustomview(添加除了button以外的view)
第4种方法就是我们添加各种作料的接口,所以今天的主角其它也是它。
2.在uitoolbar上面添加title
uitoolbar *mytoolbar = [[uitoolbar alloc] initwithframe:
cgrectmake(0.0f, 0.0f, 320.0f, 44.0f)];
nsmutablearray *mytoolbaritems = [nsmutablearray array];
[mytoolbaritems addobject:[[[uibarbuttonitem alloc]
initwithtitle:@"mytile"
style:uibarbuttonitemstyleplain
target:self
action:@selector(action)] autorelease]];
[mytoolbar setitems:mytoolbaritems animated:yes];
[mytoolbar release];
[mytoolbaritems];
setitems传入值或者说items是一个对象数组。
3.在uitoolbar上面添加image
[mytoolbaritems addobject:[[[uibarbuttonitem alloc]
initwithimage:[uiimage imagenamed:@"myimage.png"]
style:uibarbuttonitemstyleplain
target:self
action:@selector(action)]];
4.在uitoolbar上面添加systemitem
[mytoolbaritems addobject:[[[uibarbuttonitem alloc]
initwithbarbuttonsystemitem:uibarbuttonsystemitemplay
target:self
action:@selector(action)] autorelease]];
note:
initwithbarbuttonsystemitem初始化:
- (id)initwithbarbuttonsystemitem:(uibarbuttonsystemitem)systemitem target:(id)target action:(sel)action
defines system defaults for commonly used items.
typedef enum {
uibarbuttonsystemitemdone,
uibarbuttonsystemitemcancel,
uibarbuttonsystemitemedit,
uibarbuttonsystemitemsave,
uibarbuttonsystemitemadd,
uibarbuttonsystemitemflexiblespace,
uibarbuttonsystemitemfixedspace,
uibarbuttonsystemitemcompose,
uibarbuttonsystemitemreply,
uibarbuttonsystemitemaction,
uibarbuttonsystemitemorganize,
uibarbuttonsystemitembookmarks,
uibarbuttonsystemitemsearch,
uibarbuttonsystemitemrefresh,
uibarbuttonsystemitemstop,
uibarbuttonsystemitemcamera,
uibarbuttonsystemitemtrash,
uibarbuttonsystemitemplay,
uibarbuttonsystemitempause,
uibarbuttonsystemitemrewind,
uibarbuttonsystemitemfastforward,
uibarbuttonsystemitemundo, // iphoneos 3.0
uibarbuttonsystemitemredo, // iphoneos 3.0
} uibarbuttonsystemitem;
5.在uitoolbar上面添加其它各种控件,最*意义,最有意思的,我把它放在最后来讲。我们使用initwithcustomview来完成,
这里需要看一下initwithcustomview的定义:
- (id)initwithcustomview:(uiview *)customview
可以看出,它的参数是一个view,所以我们给它的配料要正确哦才行哦,否则,你就等着时间didadida的流失吧.
a>加一个开关switch:
[mytoolbaritems addobject:[[[uibarbuttonitem alloc]
initwithcustomview:[[[uiswitch alloc] init] autorelease]]
autorelease]];
b>加一个按钮uibarbuttonitem
uibarbuttonitem *mybutton = [[[uibarbuttonitem alloc]
initwithtitle:@"mybutton"
style:uibarbuttonitemstylebordered
target:self
action:@selector(action)]autorelease];
get1button.width = 50;
[mytoolbaritems addobject:mybutton];
c>加一个文本label
view plaincopy to clipboardprint?
uilabel *mylabel = [[uilabel alloc] initwithframe:cgrectmake(40.0f, 20.0f, 45.0f, 10.0f)];
mylabel.font=[uifont systemfontofsize:10];
//mylabel.backgroundcolor = [uicolor clearcolor];
//mylabel.textalignment=uitextalignmentcenter;
uibarbuttonitem *mybuttonitem = [[uibarbuttonitem alloc]initwithcustomview:mylabel];
[mytoolbaritems addobject: mybuttonitem];
[mylabel release];
[mybuttonitem release];
d>加一个进度条uiprogressview
uiprogressview *myprogress = [[uiprogressview alloc] initwithframe:cgrectmake(65.0f, 20.0f, 90.0f, 10.0f)];
uibarbuttonitem *mybuttonitem = [[uibarbuttonitem alloc]initwithcustomview:myprogress];
[mytoolbaritems addobject: mybuttonitem];
[myprogress release];
[mybuttonitem release];
可以加使用initwithcustomview制作各种button,这里就不在这里一个一个在加了。我想你应该也已经掌握了如何添加各种buttonitem的方法了。
上一篇: 醋的好处你知道多少