美文网首页
iOS开发使用技巧记录

iOS开发使用技巧记录

作者: 逍遥的强 | 来源:发表于2015-12-22 17:56 被阅读0次

    注:内容来自我或互联网

    • 输入屏幕上移和恢复
    // 需要实现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<UITouch *> *)touches withEvent:(UIEvent *)event
    {
        [self.view endEditing:YES];
    }
    
       //首先导入系统库函数
        #import <CommonCrypto/CommonDigest.h>
    
       //sha256加密
    + (NSString *)getSha1String:(NSString *)srcString{
        const char *cstr = [srcString UTF8String];
        NSData *data = [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);
        }
    

    相关文章

      网友评论

          本文标题:iOS开发使用技巧记录

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