iOS开发使用技巧记录
注:内容来自我或互联网
- 输入屏幕上移和恢复
// 需要实现UITextFieldDelegate//在UITextField 编辑之前调用方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[self animateTextField: textField up: YES];
}
//在UITextField 编辑完成调用方法
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField: textField up: NO];
}
//视图上移的方法
- (void) animateTextField: (UITextField *) textField up: (BOOL) up
{
//设置视图上移的距离,单位像素
const int movementDistance = 100;
// tweak as needed
//三目运算,判定是否需要上移视图或者不变
int movement = (up ? -movementDistance : movementDistance);
//设置动画的名字
[UIView beginAnimations: @"Animation" context: nil];
//设置动画的开始移动位置
[UIView setAnimationBeginsFromCurrentState: YES];
//设置动画的间隔时间
[UIView setAnimationDuration: 0.20];
//设置视图移动的位移
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
//设置动画结束
[UIView commitAnimations];
}
- 点击空白隐藏键盘
//隐藏键盘
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
- AutoLayout
iOS 8 AutoLayout与Size Class
文章图片
- 【iOS开发使用技巧记录】部分方法名
文章图片
[myView setAutoresizingMask:UIViewAutoresizing];
- 【iOS开发使用技巧记录】部分方法名
- 字符串加密
//首先导入系统库函数
#import
//sha256加密
+ (NSString *)getSha1String:(NSString *)srcString{
const char *cstr = [srcString UTF8String];
NSData *data = https://www.it610.com/article/[NSData dataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(data.bytes, (int)data.length, digest);
NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2];
for(int i = 0;
i < CC_SHA256_DIGEST_LENGTH;
i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}//MD5加密
+ (NSString *)getMd5_32Bit_String:(NSString *)srcString{
const char *cstr = [srcString UTF8String];
uint8_t digest[CC_MD5_DIGEST_LENGTH];
CC_MD5(cstr, (int)strlen(cstr), digest);
NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
for (int i = 0;
i < CC_MD5_DIGEST_LENGTH;
i++) {
[result appendFormat:@"%02x",digest[i]];
}
return result;
}
- 将UIColor转换为UIImage
// 根据颜色生成一张尺寸为1*1的相同颜色图片
+ (UIImage *)imageWithColor:(UIColor *)color
{
// 描述矩形
CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
// 开启位图上下文
UIGraphicsBeginImageContext(rect.size);
// 获取位图上下文
CGContextRef context = UIGraphicsGetCurrentContext();
// 使用color演示填充上下文
CGContextSetFillColorWithColor(context, [color CGColor]);
// 渲染上下文
CGContextFillRect(context, rect);
// 从上下文中获取图片
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
// 结束上下文
UIGraphicsEndImageContext();
return theImage;
}
- 设置TarBar顶部线条颜色
//设置TabBar顶部线的颜色
[self.tabBar setBackgroundImage:[[UIImage alloc] init]];
[self.tabBar setShadowImage:[UIImage imageWithColor:RGBA(218, 218, 218, 1)]];
- 使View的部分位置不响应事件,传递给下一层
//重写View的- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
return !CGRectContainsPoint(self.tableHeaderView.frame, point);
}
推荐阅读
- 深入理解Go之generate
- 2020-04-07vue中Axios的封装和API接口的管理
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- iOS中的Block
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 2019-08-29|2019-08-29 iOS13适配那点事
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- iOS面试题--基础
- 我的软件测试开发工程师书单
- echart|echart 双轴图开发