CGRect,CGPoint存入取出数组
来源:互联网 发布:淘宝客上货软件 编辑:程序博客网 时间:2024/05/01 00:35
因为CGRect,CGPoint等不是NSObject的子类,因此不能够直接添加到NSMutableArray中,所以要先将其转换成NSObject的子类。NSValue类可以解决这个问题,见NSValue类的声明:
01@interface NSValue (NSValueUIGeometryExtensions)02 03+ (NSValue *)valueWithCGPoint:(CGPoint)point;04+ (NSValue *)valueWithCGSize:(CGSize)size;05+ (NSValue *)valueWithCGRect:(CGRect)rect;06+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform;07+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets;08+ (NSValue *)valueWithUIOffset:(UIOffset)insets __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);09 10- (CGPoint)CGPointValue;11- (CGSize)CGSizeValue;12- (CGRect)CGRectValue;13- (CGAffineTransform)CGAffineTransformValue;14- (UIEdgeInsets)UIEdgeInsetsValue;15- (UIOffset)UIOffsetValue __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);16 17@end
如下,可以将CGRect,CGPoint等的数值转换成NSValue类的数值。
1UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lockButton.png"]];2imageView.frame = CGRectMake(10 * (l + 1) + imageView.frame.size.width * l, 120 + 50 * r, imageView.frame.size.width, imageView.frame.size.height);3[self.lockImageRectArray addObject:[NSValue valueWithCGRect:imageView.frame]];4[self addSubview:imageView];
通过下面的代码,又可以将NSValue转换成CGRect,CGPoint等类型的数值。
1CGRect imageRect = [[self.lockImageRectArray objectAtIndex:l] CGRectValue];
通过NSValue就可以实现CGxxx类型的数值存储在NSMutable,NSDictionary类型的数组中。
01@interface NSValue (NSValueUIGeometryExtensions)02 03+ (NSValue *)valueWithCGPoint:(CGPoint)point;04+ (NSValue *)valueWithCGSize:(CGSize)size;05+ (NSValue *)valueWithCGRect:(CGRect)rect;06+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform;07+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets;08+ (NSValue *)valueWithUIOffset:(UIOffset)insets __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);09 10- (CGPoint)CGPointValue;11- (CGSize)CGSizeValue;12- (CGRect)CGRectValue;13- (CGAffineTransform)CGAffineTransformValue;14- (UIEdgeInsets)UIEdgeInsetsValue;15- (UIOffset)UIOffsetValue __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);16 17@end
如下,可以将CGRect,CGPoint等的数值转换成NSValue类的数值。
1UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lockButton.png"]];2imageView.frame = CGRectMake(10 * (l + 1) + imageView.frame.size.width * l, 120 + 50 * r, imageView.frame.size.width, imageView.frame.size.height);3[self.lockImageRectArray addObject:[NSValue valueWithCGRect:imageView.frame]];4[self addSubview:imageView];
通过下面的代码,又可以将NSValue转换成CGRect,CGPoint等类型的数值。
1CGRect imageRect = [[self.lockImageRectArray objectAtIndex:l] CGRectValue];
通过NSValue就可以实现CGxxx类型的数值存储在NSMutable,NSDictionary类型的数组中。
0 0
- CGRect,CGPoint存入取出数组
- CGPoint存入数组,
- 如何把一个CGPoint存入数组里
- [IOS]将CGPoint、CGSize、CGRect等放进数组的方法
- UIView CGRect CGPoint
- CGRect CGPoint CGSize
- CGFloat、CGPoint、CGSize、CGRect
- CGFloat,CGPoint,CGSize,CGRect
- CGRect/CGPoint和CGSize解析
- 添加CGRect, CGPoint等到NSMutableArray
- CGFloat、CGPoint、CGSize和CGRect
- CGPoint、CGSize、CGRect and UIView
- CGFloat,CGPoint,CGSize,CGRect,CGRectZero
- CGFloat、CGPoint、CGSize和CGRect
- 添加CGRect, CGPoint等到NSMutableArray
- Swift-CGRect,CGSize,CGPoint 使用
- 关于把CGRect坐标存入NSArray数组方法
- CGPoint CGSize CGRect UIWindow UIScreen UIView UIColor
- sublime 一些常用功能和快捷键
- 单例模式
- JS--数据类型String类型
- radio change事件
- Cracking The Coding Interview4.5
- CGRect,CGPoint存入取出数组
- Android ANR错误及预防
- BAT 批处理脚本 教程
- 学习笔记之网络软件设计(二)
- Java排序算法优化--冒泡排序【温故而知新】
- 大话三种个性化推荐,你喜欢哪一种?
- NSUserDefaults standardUserDefaults使用注意事项
- 弗洛伊德算法详解
- export DISPLAY=:0.0 的解释