您的位置:首页 > 移动开发 > IOS开发

iOS 常用控件

2015-11-21 21:23 573 查看
iOS 中的控件有很多,这里只是本人接触到的,属性和方法也是经常用到的。

1. NSTimer

定时器,一般用于定时刷新。常用方法:

[NSTimer scheduledTimerWithTimeInterval:3 //时间间隔
target:self
selector:@selector(update) //调用方法
userInfo:nil
repeats:YES]; //是否重复


2. NSDate

获取当前时间:

NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0]; //输出格式:2015-10-05 07:31:14 +0000

// 或者
NSDate *now = [[NSDate alloc] initWithTimeIntervalSinceNow:0];


// 待整理…………
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[hd.tai_end_date doubleValue]/1000];


格式化时间(例如:2015-10-04 20:19:53):

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *nowStr = [formatter stringFromDate:now];


3. NSCalendar

初始化:

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];

//常用日历类型:
NSCalendarIdentifierGregorian 阳历
NSCalendarIdentifierBuddhist 佛历
NSCalendarIdentifierChinese 中国日历
NSCalendarIdentifierIslamic 伊斯兰日历

//日历类型也可以通过 calendarIdentifier 属性来设置。


// 待整理…………
unsigned int unitFlags = NSWeekdayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:date];
NSInteger week = [comps weekday];//日期转换为一周的第几天,默认第一天周日,
NSString *strWeek=nil;

if(week==1) {
strWeek=@"星期天";
} else if (week==2) {
strWeek=@"星期一";
} else if (week==3) {
strWeek=@"星期二";
} else if(week==4) {
strWeek=@"星期三";
} else if (week==5) {
strWeek=@"星期四";
} else if (week==6) {
strWeek=@"星期五";
} else if(week==7) {
strWeek=@"星期六";
}
[formatter setDateFormat:[NSString stringWithFormat:@"MM月dd  %@",strWeek]];
NSString *strDate=[formatter stringFromDate:date];

UIView *headerView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, SP(50))];
headerView.backgroundColor=[UIColor whiteColor];


参考:NSCalendar

4. NSNotification

NSNotification 是通知,用处还挺多!简单写下常用的几个方法,代码如下:

// 发送通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"broadcastName"
object:nil];


// 接收通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(display)
name:@"broadcastName"
object:nil];


// 移除通知
[[NSNotificationCenter defaultCenter] removeObserver:self
name:@"broadcastName"
object:nil];


5. UIResponder

点击屏幕的方法:

//该方法通常用作点击屏幕时隐藏弹出框等
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;


6. UIScrollView

位置和宽高:

scrollView.frame = CGRectMake(0, 64, WIDTH, HEIGHT/2); //轮播图片的位置和宽高

self.scrollView.contentSize = CGSizeMake(count * scrollView.bounds.size.width, 0); //轮播图的宽高(高度为0表示只能水平滚动)


弹簧效果:

//取消弹簧效果(默认为YES,即可以左右拉动)
scrollView.bounces = NO;


滚动条:

//取消滚动条(默认为YES)
scrollView.showsHorizontalScrollIndicator = NO; //水平滚动条
scrollView.showsVerticalScrollIndicator = NO; //竖直滚动条


分页(保证图片整张出现):

scrollView.pagingEnabled = YES; //默认NO


常用到的几个方法:

ScrollView 停下来:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;


抓住 ScrollView:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;


松开 ScrollView:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;


7. UISwitch

UISwitch 就是开关,有两个状态:即开和关。

这两天用到了 UISwitch 控件,功能虽然简单,但此前没用过。这里简单记录下使用方法,代码如下:

- (void)viewDidLoad {
[super viewDidLoad];
UISwitch *switchButton = [[UISwitch alloc] initWithFrame:CGRectMake(100, 200, 20, 10)]; //实例化
[switchButton setOn:YES]; //默认为打开状态
[switchButton addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged]; //点击事件
[self.view addSubview:switchButton];
}

// 监听事件
- (IBAction)switchAction:(id)sender {
UISwitch *switchButton = (UISwitch*)sender;
BOOL isButtonOn = [switchButton isOn]; //打开状态
if (isButtonOn) {
showSwitchValue.text = @"是";
}else {
showSwitchValue.text = @"否";
}
}


参考:iOS学习之UISwitch控件两种使用方法和监听

更新中……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 控件