1、AFNetworking POST純字符串數組
修改位置AFURLRequestSerializationapp
修改前佈局
NSString * AFQueryStringFromParameters(NSDictionary *parameters) { NSMutableArray *mutablePairs = [NSMutableArray array]; for (AFQueryStringPair *pair in AFQueryStringPairsFromDictionary(parameters)) { [mutablePairs addObject:[pair URLEncodedStringValue]]; } return [mutablePairs componentsJoinedByString:@"&"]; }
修改後url
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:@"&"]; }
2、查找一個字符串中的多個相同子字符串spa
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)); }
3、UITextField限制字數code
- (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; }
4、枚舉數組元素component
[array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { }];
5、爲UILabel添加圖片blog
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];
6、自適應屏幕大小圖片
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
7、判斷推送是否打開字符串
BOOL registered = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];
8、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; }
9、跳轉App Store
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=xxx"]; [[UIApplication sharedApplication] openURL:url];
10、UIButton垂直佈局
[button setTitleEdgeInsets:UIEdgeInsetsMake(40 ,-button.imageView.frame.size.width, 0, 0)]; [button setImageEdgeInsets:UIEdgeInsetsMake(-20, 0, 0, -button.titleLabel.bounds.size.width)];
11、解決UITableView在無導航欄時頂部留白
if (@available(iOS 11.0, *)) self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; else self.automaticallyAdjustsScrollViewInsets = NO;