欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS开发中Date Picker和UITool Bar控件的使用简介

程序员文章站 2022-06-29 08:57:39
一、date picker控件 1.简单介绍: date picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何改成中文的? (1)查看当前系...

一、date picker控件
1.简单介绍:

iOS开发中Date Picker和UITool Bar控件的使用简介

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


实现效果:

iOS开发中Date Picker和UITool Bar控件的使用简介

二、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的方法了。