美文网首页
iOS一些小技巧

iOS一些小技巧

作者: 不会学习的睿睿 | 来源:发表于2016-06-03 16:18 被阅读50次

    搜集了网上一些常用的开发小技巧,集中到一起看-,-

    1 TableView下面的那些cell的空显示

    self.tableView.tableFooterView = [[UIView alloc] init]
    

    2 ScrollView莫名其妙不能在viewController划到顶怎么办?也就是修正导航栏

    self.automaticallyAdjustsScrollViewInsets = NO;
    
    

    3 键盘事件?
    使用IQKeyboardManager(GitHub上可搜索)

    4 控件的局部圆角问题
    你是不是也遇到过这样的问题,一个button或者label,只要右边的两个角圆角,或者只要一个圆角。该怎么办呢。这就需要图层蒙版来帮助我们了

        CGRect rect = CGRectMake(0, 0, 100, 50);
        CGSize radio = CGSizeMake(5, 5);//圆角尺寸
        UIRectCorner corner = UIRectCornerTopLeft|UIRectCornerTopRight;//这只圆角位置
        UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corner cornerRadii:radio];
        CAShapeLayer *masklayer = [[CAShapeLayer alloc]init];//创建shapelayer
        masklayer.frame = button.bounds;
        masklayer.path = path.CGPath;//设置路径
        button.layer.mask = masklayer;
    

    5 navigationBar的透明问题
    如果仅仅把navigationBar的alpha设为0的话,那就相当于把navigationBar给隐藏了,大家都知道,父视图的alpha设置为0的话,那么子视图全都会透明的。那么相应的navigationBar的标题和左右两个按钮都会消失。这样显然达不到我们要求的效果。
    (1)如果仅仅是想要navigationBar透明,按钮和标题都在可以使用以下方法:

     [self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
    forBarMetrics:UIBarMetricsDefault];//给navigationBar设置一个空的背景图片即可实现透明,而且标题按钮都在
    

    5 调用代码使APP进入后台,达到点击Home键的效果。

        [[UIApplication sharedApplication] performSelector:@selector(suspend)];
    
    

    6 获取UIWebView的高度

    - (void)webViewDidFinishLoad:(UIWebView *)webView {
      CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];
      if (self.webViewHeight != height && self.count <= 3) {
        self.webViewHeight = height;
        self.count++;
        
        [self updateUI];
      }
    }
     
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
      self.webViewHeight = webView.scrollView.contentSize.height;
      return YES;
    }
    

    7 带有中文的URL处理

    http://static.tripbe.com/videofiles/视频/我的自拍视频.mp4
    NSString *path  = (__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL,                                                                                                             (__bridge CFStringRef)model.mp4_url,                                                                                                        CFSTR(""),                                                                                                                CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
    

    8 禁止程序运行时自动锁屏

    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];
    
    

    9 用十六进制获取UIColor

    + (UIColor *)colorWithHexString:(NSString *)color
    {
        NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    
        // String should be 6 or 8 characters
        if ([cString length] < 6) {
            return [UIColor clearColor];
        }
    
        // strip 0X if it appears
        if ([cString hasPrefix:@"0X"])
            cString = [cString substringFromIndex:2];
        if ([cString hasPrefix:@"#"])
            cString = [cString substringFromIndex:1];
        if ([cString length] != 6)
            return [UIColor clearColor];
    
        // Separate into r, g, b substrings
        NSRange range;
        range.location = 0;
        range.length = 2;
    
        //r
        NSString *rString = [cString substringWithRange:range];
    
        //g
        range.location = 2;
        NSString *gString = [cString substringWithRange:range];
    
        //b
        range.location = 4;
        NSString *bString = [cString substringWithRange:range];
    
        // Scan values
        unsigned int r, g, b;
        [[NSScanner scannerWithString:rString] scanHexInt:&r];
        [[NSScanner scannerWithString:gString] scanHexInt:&g];
        [[NSScanner scannerWithString:bString] scanHexInt:&b];
    
        return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
    }
    

    相关文章

      网友评论

          本文标题:iOS一些小技巧

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