美文网首页
UIGeometry - 几何

UIGeometry - 几何

作者: 居然是村长 | 来源:发表于2016-04-06 21:59 被阅读254次

UIEdgeInsets 内嵌

    /*
     typedef struct UIEdgeInsets {
     CGFloat top, left, bottom, right;
     } UIEdgeInsets;
     */

    UIEdgeInsets edgInset = UIEdgeInsetsMake(10, 20, 30, 40);
    UIEdgeInsets zeroEdgInset = UIEdgeInsetsZero;
    CGRect insetRect = UIEdgeInsetsInsetRect(rect, edgInset);

    BOOL isequalEdg = UIEdgeInsetsEqualToEdgeInsets(edgInset, edgInset);

UIOffset 偏移

    /*
     typedef struct UIOffset {
     CGFloat horizontal, vertical;
     } UIOffset;
     */

    UIOffset offset = UIOffsetMake(100, 200);
    UIOffset zeroOffset = UIOffsetZero;

    BOOL isOffset = UIOffsetEqualToOffset(offset, offset);

Value 转换 (拓展)

  • 初始化 各种结构体
    CGPoint point = CGPointMake(100, 100);
    CGSize size = CGSizeMake(100, 200);
    CGRect rect = CGRectMake(100, 100, 100, 100);
    
    CGVector vector = CGVectorMake(10, 20);
    CGAffineTransform transform = CGAffineTransformMake(10, 20, 30, 40, 50, 60);
    
    UIEdgeInsets edgInset = UIEdgeInsetsMake(10, 20, 30, 40);
    UIOffset offset = UIOffsetMake(100, 200);
  • 转化 NSValue
    NSValue *pointValue = [NSValue valueWithCGPoint:point];
    NSValue *sizeValue = [NSValue valueWithCGSize:size];
    NSValue *rectValue = [NSValue valueWithCGRect:rect];

    NSValue *vectorValue = [NSValue valueWithCGVector:vector];
    NSValue *transformValue = [NSValue valueWithCGAffineTransform:transform];

    NSValue *edgInsetValue = [NSValue valueWithUIEdgeInsets:edgInset];
    NSValue *offsetValue = [NSValue valueWithUIOffset:offset];
  • 获取
    CGPoint point1 = [pointValue CGPointValue];;
    CGSize size1 = [sizeValue CGSizeValue];
    CGRect rect1 = [rectValue CGRectValue];
    
    CGVector vector1 = [vectorValue CGVectorValue];;
    CGAffineTransform transform1 = [transformValue CGAffineTransformValue];
    
    UIEdgeInsets edgInset1 = [edgInsetValue UIEdgeInsetsValue];
    UIOffset offset1 = [offsetValue UIOffsetValue];

NSString 互相 转换

  • value 转 字符串
    NSString *pointString = NSStringFromCGPoint(point);
    NSString *sizeString = NSStringFromCGSize(size);
    NSString *rectString = NSStringFromCGRect(rect);
    
    NSString *vectorString = NSStringFromCGVector(vector);
    NSString *transformString = NSStringFromCGAffineTransform(transform);
    
    NSString *edgInsetString = NSStringFromUIEdgeInsets(edgInset);
    NSString *offsetString = NSStringFromUIOffset(offset);
  • 字符串 转 value
    CGPoint point1 = CGPointFromString(pointString);
    CGSize size1 = CGSizeFromString(sizeString);
    CGRect rect1 = CGRectFromString(rectString);
    
    CGVector vector1 = CGVectorFromString(vectorString);
    CGAffineTransform transform1 = CGAffineTransformFromString(transformString);
    
    UIEdgeInsets edgInset1 = UIEdgeInsetsFromString(edgInsetString);
    UIOffset offset1 = UIOffsetFromString(offsetString);

其他


@interface NSCoder (UIGeometryKeyedCoding)

- (void)encodeCGPoint:(CGPoint)point forKey:(NSString *)key;
- (void)encodeCGVector:(CGVector)vector forKey:(NSString *)key;
- (void)encodeCGSize:(CGSize)size forKey:(NSString *)key;
- (void)encodeCGRect:(CGRect)rect forKey:(NSString *)key;
- (void)encodeCGAffineTransform:(CGAffineTransform)transform forKey:(NSString *)key;
- (void)encodeUIEdgeInsets:(UIEdgeInsets)insets forKey:(NSString *)key;
- (void)encodeUIOffset:(UIOffset)offset forKey:(NSString *)key NS_AVAILABLE_IOS(5_0);

- (CGPoint)decodeCGPointForKey:(NSString *)key;
- (CGVector)decodeCGVectorForKey:(NSString *)key;
- (CGSize)decodeCGSizeForKey:(NSString *)key;
- (CGRect)decodeCGRectForKey:(NSString *)key;
- (CGAffineTransform)decodeCGAffineTransformForKey:(NSString *)key;
- (UIEdgeInsets)decodeUIEdgeInsetsForKey:(NSString *)key;
- (UIOffset)decodeUIOffsetForKey:(NSString *)key NS_AVAILABLE_IOS(5_0);

@end

1

相关文章

  • UIGeometry - 几何

    UIEdgeInsets 内嵌 UIOffset 偏移 Value 转换 (拓展) 初始化 各种结构体 转化 NS...

  • NGUI 深入解析

    NGUI的总纲领 UIGeometry好比为煮菜准备食材 UIDrawCall好比是煮菜的工具(锅,炉子等)- U...

  • 醒几何,梦几何,月圆几何缺几何

    我在北京,温度12℃。 这里月明,却也远,这里夜凉,也少了夜的鲜明。 却原来,杜子美那句月是故乡明,穿越了千年。 ...

  • 几何不是分支 而是研究方式

    几何有很多小分支,代数几何,微分几何,辛几何,几何拓扑,几何表示论,几何分析。。。很羡慕做几何的人,因为他们懂很多...

  • 对酒当歌,人生几何,学了几何几何用?

    徐光启系列前期回顾: 大明中年落魄大叔如何惊人逆袭? 1 曹操的名作《短歌行》“对酒当歌,人生几何?譬如朝露,去日...

  • 价值几何?需求几何?

    做人,就要做真正有用的人;做事,就要做真正有用的事;做产品,就要真正做有用的产品……——李笑来 1、 今天早上,坐...

  • 几何到底几何—————痴迷

    几何到底几何

  • 墓室几何 文明几何

    墓室,作为人类文明的产物,是考古界探究当时的历史背景,生活习惯风俗,经济文化的主要途径之一。 世界最具研究价值的墓...

  • 几何

    点积叉积复平面 向量在坐标轴上旋转 勾股正余弦 毕达哥拉斯画出优美的弧线 在凸包上徘徊的 是共存的一元二次直线 欧...

  • 几何

网友评论

      本文标题:UIGeometry - 几何

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