• ios开发零散知识点总结


    1:当有导航栏的时候,子视图为UIScrollView,或是继承于UIScrollView的控件如UITableView,UICollectionView等,控制器会自动调用

    self.automaticallyAdjustsScrollViewInsets = YES;方法,自动为控件添加64的额外的滚动区域,若存在多个控件,则系统会自动找到第一个添加的控件,执行此方法,增加64额外的滚动区域,如果想禁止此操作,可在控制器中实现方法:self.automaticallyAdjustsScrollViewInsets = NO;或是设置UIScrollView的contentInset,tableView的contentInset,来减少滚动区域。

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        // 1:不会自动去调整uiscrollView的contentInset属性
        self.automaticallyAdjustsScrollViewInsets = NO;
        UIScrollView *scrollView = [[UIScrollView alloc] init];
        scrollView.frame = CGRectMake(0, 200, 200, 200);
        scrollView.backgroundColor = [UIColor redColor];
        [self.view addSubview:scrollView];
        
        [scrollView addSubview:[[UISwitch alloc] init]];
    }

    2:在宏定义文件中的NSLog定义

    #ifdef DEBUG
    
    #define DLog(...)  NSLog(__VA_ARGS__)
    
    #else
    
    #define DLog(...)
    
    #endif

    一些颜色的宏定义

    //1:RGB颜色
    #define RGB(a,b,c) [UIColor colorWithRed:(a)/255.0 green:(b)/255.0 blue:(c)/255.0 alpha:1]
    
    //2:包含设置透明度
    #define RGBColor(a,b,c,d) [UIColor colorWithRed:(a)/255.0 green:(b)/255.0 blue:(c)/255.0 alpha:d]
    
    //3:随机色
    #define ARC4Color RGB(arc4random_uniform(256),arc4random_uniform(256),arc4random_uniform(256))

    3:pch文件的定义:在项目的Target---BuildSetting---prefixHeader---删除在桌面文件夹的路径,只保留项目的路径,再输入$(SRCROOT),如:$(SRCROOT)/网易新闻抽屉效果/Classes/Main/Utils/PrefixHeader.pch

    4:通过图形上下文将color绘制成一张图片:

    1 //提供颜色接口,返回一张图片
    2 
    3 #import <UIKit/UIKit.h>
    4 
    5 @interface UIImage (Cqb)
    6 
    7 +(UIImage*)imageWithColor:(UIColor*)color;
    8 @end
     1 #import "UIImage+Cqb.h"
     2 
     3 @implementation UIImage (Cqb)
     4 
     5 + (UIImage*)imageWithColor:(UIColor*)color {
     6     
     7     //1:开启基于位图的图形上下文
     8     CGFloat imageWidth = 100;
     9     CGFloat imageHeight = 100;
    10     UIGraphicsBeginImageContextWithOptions(CGSizeMake(imageWidth, imageHeight), NO, 0.0);
    11     
    12     //2:画一个color颜色的矩形框
    13     [color set];
    14     UIRectFill(CGRectMake(0, 0, imageWidth, imageHeight));
    15     
    16     //3:得到图片
    17     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    18     
    19     //4:关闭图形上下文
    20     UIGraphicsEndImageContext();
    21     
    22     return image;
    23 }

    5:UIView计算尺寸的分类:

     1 #import <UIKit/UIKit.h>
     2 
     3 @interface UIView (Cqb)
     4 @property (nonatomic,assign)CGFloat X;
     5 @property (nonatomic,assign)CGFloat Y;
     6 @property (nonatomic,assign)CGFloat width;
     7 @property (nonatomic,assign)CGFloat height;
     8 @property (nonatomic,assign)CGFloat centerX;
     9 @property (nonatomic,assign)CGFloat centerY;
    10 @property (nonatomic,assign)CGSize  size;
    11 @end
     1 #import "UIView+Cqb.h"
     2 
     3 @implementation UIView (Cqb)
     4 
     5 - (void)setX:(CGFloat)X {
     6     
     7     CGRect frame = self.frame;
     8     frame.origin.x = X;
     9     self.frame = frame;
    10     
    11 }
    12 
    13 - (CGFloat)X {
    14     
    15     return self.frame.origin.x;
    16 }
    17 
    18 - (void)setY:(CGFloat)Y {
    19     
    20     CGRect frame = self.frame;
    21     frame.origin.y = Y;
    22     self.frame = frame;
    23     
    24 }
    25 
    26 - (CGFloat)Y {
    27     
    28     return self.frame.origin.y;
    29 }
    30 
    31 - (void)setWidth:(CGFloat)width {
    32     
    33     CGRect frame = self.frame;
    34     frame.size.width = width;
    35     self.frame = frame;
    36 
    37 }
    38 
    39 - (CGFloat)width {
    40     
    41     return self.frame.size.width;
    42 }
    43 
    44 - (void)setHeight:(CGFloat)height {
    45     
    46     CGRect frame = self.frame;
    47     frame.size.height = height;
    48     self.frame = frame;
    49 }
    50 
    51 - (CGFloat)height {
    52     
    53     return self.frame.size.height;
    54 }
    55 
    56 - (void)setCenterX:(CGFloat)centerX {
    57     
    58     CGPoint center = self.center;
    59     center.x = centerX;
    60     self.center = center;
    61 
    62 }
    63 
    64 - (CGFloat)centerX {
    65     
    66     return self.center.x;
    67 }
    68 
    69 - (void)setCenterY:(CGFloat)centerY {
    70     
    71     CGPoint center = self.center;
    72     center.y = centerY;
    73     self.center = center;
    74 }
    75 
    76 - (CGFloat)centerY {
    77     
    78     return self.center.y;
    79 }
    80 
    81 - (void)setSize:(CGSize)size {
    82     
    83     CGRect frame = self.frame;
    84     frame.size = size;
    85     self.frame = frame;
    86 
    87 }
    88 
    89 - (CGSize)size {
    90     
    91     return self.frame.size;
    92 }
    93 
    94 
    95 @end

    6:对自定义UIBarButtonItem的分类封装:

    1 #import <UIKit/UIKit.h>
    2 
    3 @interface UIBarButtonItem (Extension)
    4 + (UIBarButtonItem *)itemWithImageName:(NSString *)imageName target:(id)target action:(SEL)action;
    5 @end
     1 #import "UIBarButtonItem+Extension.h"
     2 
     3 @implementation UIBarButtonItem (Extension)
     4 + (UIBarButtonItem *)itemWithImageName:(NSString *)imageName target:(id)target action:(SEL)action
     5 {
     6     UIButton *button = [[UIButton alloc] init];
     7     [button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
     8     
     9     // 设置按钮的尺寸为背景图片的尺寸
    10     button.size = button.currentBackgroundImage.size;
    11     
    12     // 监听按钮点击
    13     [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    14     return [[UIBarButtonItem alloc] initWithCustomView:button];
    15 }
    16 @end

     6:当做真机调试的时候,要在buildSetting中配置好证书,并在info里选择开发者账号才可以

  • 相关阅读:
    修改ASP.NET MVC Ajax分页组件ASP.NET MvcPager一个小Bug并修该样式为自己所用(一)
    HighCharts报表 API
    自动化开发资料
    修改ASP.NET MVC Ajax分页组件ASP.NET MvcPager一个小Bug并修该样式为自己所用(三)
    网络营销资料收集
    C#扩展方法
    UI Automation Under the Hood (1)
    C#辅助类之ConfigHelper
    设计模式资源汇总
    Windows GUI自动化测试
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5709264.html
Copyright © 2020-2023  润新知