摘要:获得屏幕图像,label的动态size,时间戳转化为时间,RGB转化成颜色,加边框,压缩图片,textfield的placeholder,图片做灰度处理
1.获得屏幕图像
?
1
2
3
4
5
6
7
8
9
|
- (UIImage *)imageFromView: (UIView *) theView
{
UIGraphicsBeginImageContext(theView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[theView.layer renderInContext:context];
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}
|
2.label的动态size
?
1
2
3
4
5
6
7
8
|
- (CGSize)labelAutoCalculateRectWith:(NSString*)text FontSize:(CGFloat)fontSize MaxSize:(CGSize)maxSize
{
NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc]init]; paragraphStyle.lineBreakMode=NSLineBreakByWordWrapping;
NSDictionary* attributes =@{NSFontAttributeName:[UIFont fontWithName:@ "MicrosoftYaHei" size:fontSize],NSParagraphStyleAttributeName:paragraphStyle.copy};
CGSize labelSize = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size;
labelSize.height=ceil(labelSize.height);
return labelSize;
}
|
3.时间戳转化为时间
?
1
2
3
4
5
6
7
8
9
10
|
-(NSString*)TimeTrasformWithDate:(NSString *)dateString
{
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@ "YY-MM-dd HH:mm" ];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@ "Asia/Beijing" ]];
NSString *date = [formatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:dateString.integerValue]];
//NSLog(@"date1:%@",date);
return date;
}
|
4.RGB转化成颜色
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+ (UIColor *)colorFromHexRGB:(NSString *)inColorString
{
UIColor *result = nil;
unsigned int colorCode = 0 ;
unsigned char redByte, greenByte, blueByte;
if (nil != inColorString)
{
NSScanner *scanner = [NSScanner scannerWithString:inColorString];
( void ) [scanner scanHexInt:&colorCode]; // ignore error
}
redByte = (unsigned char ) (colorCode >> 16 );
greenByte = (unsigned char ) (colorCode >> 8 );
blueByte = (unsigned char ) (colorCode); // masks off high bits
result = [UIColor
colorWithRed: ( float )redByte / 0xff
green: ( float )greenByte/ 0xff
blue: ( float )blueByte / 0xff
alpha: 1.0 ];
return result;
}
|
5.加边框
?
1
2
3
4
5
6
7
|
UIRectCorner corners=UIRectCornerTopLeft | UIRectCornerTopRight;
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:corners
cornerRadii:CGSizeMake( 4 , 0 )];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = view.bounds;
maskLayer.path = maskPath.CGPath;
view.layer.mask = maskLayer;
|
6.//压缩图片
?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
+ (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize
{
//创建一个图形上下文形象
UIGraphicsBeginImageContext(newSize);
// 告诉旧图片画在这个新的环境,所需的
// new size
[image drawInRect:CGRectMake( 0 , 0 ,newSize.width,newSize.height)];
//获取上下文的新形象
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
// 结束上下文
UIGraphicsEndImageContext();
return newImage;
}
|
7.textfield的placeholder
?
1
2
|
[textF setValue:[UIColor whiteColor] forKeyPath:@ "_placeholderLabel.textColor" ];
[textF setValue:[UIFont boldSystemFontOfSize: 15 ] forKeyPath:@ "_placeholderLabel.font" ];
|
8.布局
?
1
2
|
butLeft. imageEdgeInsets = UIEdgeInsetsMake ( 7 , 5 , 7 , 25 );
butLeft.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
|
9.//调用此方法改变label最后2个字符的大小
?
1
2
3
4
5
6
7
|
- ( void )label:(UILabel *)label BehindTextSize:(NSInteger)integer
{
NSMutableAttributedString *mutaString = [[NSMutableAttributedString alloc] initWithString:label.text];
[mutaString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize: 16 ] range:NSMakeRange(label.text.length- 2 , 2 )];
label.attributedText = mutaString;
}
|
10.
?
1
2
3
4
5
6
|
- ( void )ChangeLabelTextColor:(UILabel *)label
{
NSMutableAttributedString *mutaString = [[NSMutableAttributedString alloc] initWithString:label.text];
[mutaString addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed: 207 / 255.0 green: 34 / 255.0 blue: 42 / 255.0 alpha: 1 ] range:NSMakeRange( 0 , 5 )];
label.attributedText = mutaString;
}
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
if ([tableView respondsToSelector: @selector (setSeparatorInset:)]) {
[tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0 ) {
if ([tableView respondsToSelector: @selector (setLayoutMargins:)]) {
[tableView setLayoutMargins:UIEdgeInsetsZero];
}
}
// Do any additional setup after loading the view.
}
- ( void )tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector: @selector (setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0 ) {
if ([cell respondsToSelector: @selector (setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
}
}
|
11.图片变灰度
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-(UIImage *) grayscaleImage: (UIImage *) image
{
CGSize size = image.size;
CGRect rect = CGRectMake( 0 .0f, 0 .0f, image.size.width,
image.size.height);
// Create a mono/gray color space
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef context = CGBitmapContextCreate(nil, size.width,
size.height, 8 , 0 , colorSpace, kCGImageAlphaNone);
CGColorSpaceRelease(colorSpace);
// Draw the image into the grayscale context
CGContextDrawImage(context, rect, [image CGImage]);
CGImageRef grayscale = CGBitmapContextCreateImage(context);
CGContextRelease(context);
// Recover the image
UIImage *img = [UIImage imageWithCGImage:grayscale];
CFRelease(grayscale);
return img;
}
|
13.16进制转rgb
?
1
|
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:(( float )((rgbValue & 0xFF0000 ) >> 16 ))/ 255.0 green:(( float )((rgbValue & 0xFF00 ) >> 8 ))/ 255.0 blue:(( float )(rgbValue & 0xFF ))/ 255.0 alpha: 1.0 ]
|
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持快网idc!
相关文章
猜你喜欢
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 31
-
2025-06-04 68
-
2025-05-29 96
-
2025-05-25 31
-
2025-05-25 101
热门评论