该文主要记录下实际开发中用到的一些方法,网上查到的方法来源会在源码注释上注明.
UIView的两种透明效果的区别
刚刚做一个PickerView的弹出效果.
遇到一个问题,PickerView放置在一个黑色透明的UIView上.
- 第一种设置UIView是透明,但其上的控件(PickerView)不透明.也就是说不会被UIView的透明度所干扰.
_viewOfPickerView.backgroundColor =[[UIColor blackColor] colorWithAlphaComponent:0.75]; - 第二种设置,UIView是透明,其上的控件也是透明效果(不论颜色是否和UIView一致).
_viewOfPickerView.backgroundColor = [UIColor blackColor];
_viewOfPickerView.alpha = 0.65;
NSDate的一些方法
- 根据给定的Date取出前一天或者后一天
//该方法转自CocoaChina的l0ve_m00n的回帖
NSDate date = [NSDate date];//给定的时间
NSDate lastDay = [NSDate dateWithTimeInterval:-246060 sinceDate:date];//前一天
NSDate nextDat = [NSDate dateWithTimeInterval:2460*60 sinceDate:date];//后一天 - 将NSDate转成格式化的NSString
- (NSString *)getDateStrFromDate:(NSDate *)date
{
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
return [formatter stringFromDate:date];
}
根据NSString格式的日期获取是星期几
工作中需要将接口给的字符串日期显示成星期几,就在网上找了一下方法,结合自己的代码稍加改动实现了该功能.
- 将字符串形式的日期转换成NSDate
#pragma mark - 下面这个方法则可以直接根据字符串转成日期(NSDate)
- (NSDate )getDateFromDateStr:(NSString )dateStr
{
NSDateFormatter formater = [[NSDateFormatter alloc] init];
//此处要转换的日期是这种,当然也有其他格式,根据实际需要可以修改.但要一一对应
[formater setDateFormat:@"yyyy-MM-dd"];
NSDate date = [formater dateFromString:dateStr];
return date;
} - 根据NSDate返回星期几
#pragma mark - 根据日期计算是星期几
//该方法转自百度知道corproal的回复
- (NSString )weekdayStringFromDate:(NSDate)inputDate {
NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
[calendar setTimeZone: timeZone];
NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;
NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];
return [weekdays objectAtIndex:theComponents.weekday];
}
实际应用中以上两个方法可以整合到一起,方法加进文件之后,拼接类似"2016-6-6 星期一"的字符串的时候一行代码就可以搞定了.