美文网首页
iOS杂碎2

iOS杂碎2

作者: 爨乡的云 | 来源:发表于2018-11-12 10:15 被阅读35次

NSPredicate用法之一: 数组元素为对象时,通过对象的某个属性快速筛选出数组中的对象

// 找出tips和年报的模型
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type == 1001 OR type == 1002"];
NSArray *temp = [self.dataArray filteredArrayUsingPredicate:predicate];
if (temp.count > 0) {
   _hasTips = YES;
} else {
    _hasTips = NO;
}

关于NSPredicate更多高级用法,参见:iOS NSPredicate 使用详解
iOS中的谓词(NSPredicate)使用

SD图片加载渐现效果

[_ImageView sd_setImageWithURL:url placeholderImage:placeholderImage options:YYWebImageOptionAllowBackgroundTask progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {
    dispatch_sync(dispatch_get_main_queue(), ^(){
       [weakSelf fadeLayer:weakSelf.ImageView.layer];
    });
} completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
}];

- (void)fadeLayer:(CALayer *)layer {
    CATransition *transition = [CATransition animation];
    transition.duration = 0.5;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionFade;
    [layer addAnimation:transition forKey:@"fade"];
}

使用pandoc为markdown生成大纲

pandoc 2.5
Compiled with pandoc-types 1.17.5.4, texmath 0.11.1.2, skylighting 0.7.4
Default user data directory: /Users/wanghaobing/.pandoc
Copyright (C) 2006-2018 John MacFarlane
Web:  http://pandoc.org
  • 3.cd到存放.md文件的文件夹目录
    1. 输入pandoc -s --toc README.md -o README.md命令,即可自动生成目录 (使用该命令默认生成三级目录)
      如果想要生成4级目录,可以使用pandoc -s --toc --toc-depth=4 README.md -o README.md命令 (README.md可以修改为你的markdown文件名)

WKWebView头部添加自定义View, 随Webview一起滚动

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight) configuration:configuration];
webView.navigationDelegate = self;
webView.multipleTouchEnabled = YES;
webView.userInteractionEnabled = YES;
webView.contentMode = UIViewContentModeScaleAspectFit;
webView.scrollView.scrollEnabled = YES;
webView.scrollView.delegate = self;
        
// 调整contentInset,将自定义视图添加到webView.scrollView
webView.scrollView.contentInset = UIEdgeInsetsMake(ScreenWidth, 0, 0, 0);

CustomView *customView = [[CustomView alloc] initWithFrame:CGRectMake(0, -ScreenWidth, ScreenWidth, ScreenWidth)]; //注意y值.
[webView.scrollView addSubview: customView];

[self.view addSubview:webView];

获取当天,当周,当月,当年的时间区间

double interval = 0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
    
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
BOOL exist = [calendar rangeOfUnit:NSCalendarUnitWeekOfYear startDate:&beginDate interval:&interval forDate:[NSDate date]];
// unit可分别修改为 NSCalendarUnitDay NSCalendarUnitWeekOfYear NSCalendarUnitMonth NSCalendarUnitYear
if (exist) {
   endDate = [beginDate dateByAddingTimeInterval:interval-1];
}else {
   return [NSArray array];
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *beginString = [myDateFormatter stringFromDate:beginDate];
NSString *endString = [myDateFormatter stringFromDate:endDate];
    
NSString *section = [NSString stringWithFormat:@"%@ ~ %@",beginString,endString];
NSLog(@"%@",section); // 2018-11-12 00:00:00 ~ 2018-11-18 23:59:59

当然,将上述方法中的 rangeOfUnit 替换为:

  • NSCalendarUnitDay可以获取当天的时间区间 2018-11-12 00:00:00 ~ 2018-11-12 23:59:59
  • NSCalendarUnitWeekOfYear可以获取当周的时间区间 2018-11-12 00:00:00 ~ 2018-11-18 23:59:59
  • NSCalendarUnitMonth 可以获取当月的时间区间 2018-11-01 00:00:00 ~ 2018-11-30 23:59:59
  • NSCalendarUnitYear可以获取当年的时间区间 2018-01-01 00:00:00 ~ 2018-12-31 23:59:59

iOS 11以后系统相册选取完图片编辑页面,取消按钮很难被点击到的问题解决办法

#pragma mark - Navigation Controller Delegate
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    if ([UIDevice currentDevice].systemVersion.floatValue < 11) {
        return;
    } if ([viewController isKindOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")]) {
        [viewController.view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            // iOS 11之后,图片编辑界面最上层会出现一个宽度<42的view,会遮盖住左下方的cancel按钮,使cancel按钮很难被点击到,故改变该view的层级结构
            if (obj.frame.size.width < 42) {
                [viewController.view sendSubviewToBack:obj];
                *stop = YES;
            }
        }];
    }
}

创建一个可任意伸缩的图片

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
  • 这是 UIImage 的一个实例方法,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

  • 注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素

Article list

相关文章

  • iOS杂碎2

    NSPredicate用法之一: 数组元素为对象时,通过对象的某个属性快速筛选出数组中的对象 关于NSPredic...

  • 杂碎(2)

    新鲜的香蕉 放在柜子里 五天后 熟的很柔软 但我依然没有吃它的念头 甚至想观察它腐烂的过程 朋友说赶紧解决 于是我...

  • iOS杂碎念

    TableView长截图 UIColor添加透明度 关于setObject和setValue方法的区别 iOS开发...

  • iOS 开发杂碎

    1.延迟执行代码比较反锁可以 设置成全局 //MARK:-全局函数 可以直接使用 funcdelay(delta:...

  • 2017-10-25

    杂碎

  • 肥肠也可以清爽,泉州帅哥大厨的杰作,菜头酸炒肥肠

    草草啖盐说蜜 ——吃咸的说甜的胡诌乱侃 《风味人间2》里有这么一句台词:人类对杂碎的迷恋,启迪于人类的智慧。 杂碎...

  • 《来份杂碎》

    ** 杂碎虽不起眼,但背后是中美双方复杂有趣的文化流史。**本书的 "杂碎" , “炒杂碎”是一道历史悠久的名菜,...

  • 流浪者

    《先生》第五章 他想起了那个杂碎! 他想起了那杂碎的眼睛,带着鄙夷的嘲戏, 他想起了那杂碎兴奋地抖着下面,流出金黄...

  • 请吃一碗杂碎汤,你接受吗

    对于杂碎汤,许多人不敢吃,甚至厌憎,而我偏偏嗜好。捧一碗杂碎汤,在鲜香热乎的气息下,顿时有肝肠寸柔的感受。 杂碎汤...

  • 西宁必吃特色老字号,牛杂碎真乃一绝

    早上起了个大早来到了这边既特色又有名的一家杂碎店,点了20元的牛杂碎,他家其实杂碎分着20元、25元、30元、40...

网友评论

      本文标题:iOS杂碎2

      本文链接:https://www.haomeiwen.com/subject/rzsqfqtx.html