[iOS]拾遗补阙
Posted 幻想乡的技术宅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[iOS]拾遗补阙相关的知识,希望对你有一定的参考价值。
一、AFNetworking POST纯字符串
修改位置AFURLRequestSerialization
修改前
NSString * AFQueryStringFromParameters(NSDictionary *parameters) { NSMutableArray *mutablePairs = [NSMutableArray array]; for (AFQueryStringPair *pair in AFQueryStringPairsFromDictionary(parameters)) { [mutablePairs addObject:[pair URLEncodedStringValue]]; } return [mutablePairs componentsJoinedByString:@"&"]; }
修改后
NSString * AFQueryStringFromParameters(NSDictionary *parameters) { if ([parameters isKindOfClass:[NSString class]]) return (NSString *)parameters; NSMutableArray *mutablePairs = [NSMutableArray array]; for (AFQueryStringPair *pair in AFQueryStringPairsFromDictionary(parameters)) { [mutablePairs addObject:[pair URLEncodedStringValue]]; } return [mutablePairs componentsJoinedByString:@"&"]; }
二、查找一个字符串中的多个相同子字符串
NSString *str = @"14 28 62 24 3 46 99 73 10 51 0 95 34 58 50 33 56 23 97 82 83 8 94 1 17 7 19 96 9 54"; NSString *searchString = @"1"; NSRange searchRange = NSMakeRange(0, [str length]); NSRange range; while ((range = [str rangeOfString:searchString options:0 range:searchRange]).location != NSNotFound) { NSLog(@"%@",NSStringFromRange(range)); searchRange = NSMakeRange(NSMaxRange(range), [str length] - NSMaxRange(range)); }
三、UITextField限制字数
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSInteger existedLength = textField.text.length; NSInteger selectedLength = range.length; NSInteger replaceLength = string.length; if (existedLength - selectedLength + replaceLength > 4) return NO; return YES; }
四、枚举数组元素
[array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { }];
五、为UILabel添加图片
NSTextAttachment *attachment = [[NSTextAttachment alloc] init]; attachment.image = [UIImage imageNamed:@"image"]; attachment.bounds = CGRectMake(0, 0, 15, 15); NSMutableAttributedString *string = [[NSMutableAttributedString alloc] init]; [string appendAttributedString:[NSAttributedString attributedStringWithAttachment:attachment]]; [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"string"]]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 30)]; label.attributedText = string; [self.view addSubview:label];
六、自适应屏幕大小
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
七、判断推送是否打开
BOOL registered = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];
八、UIView转UIImage
- (UIImage *)viewToImage:(UIView *)view { UIImage *image = [[UIImage alloc] init]; UIGraphicsBeginImageContextWithOptions(view.frame.size, YES, [UIScreen mainScreen].scale);// 区域 透明 屏幕密度 [view.layer renderInContext:UIGraphicsGetCurrentContext()]; image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }
以上是关于[iOS]拾遗补阙的主要内容,如果未能解决你的问题,请参考以下文章