关于UIView的Alpha和NSDate的两个使用方法

该文主要记录下实际开发中用到的一些方法,网上查到的方法来源会在源码注释上注明.

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:-2460
    60 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 星期一"的字符串的时候一行代码就可以搞定了.

你可能感兴趣的:(关于UIView的Alpha和NSDate的两个使用方法)