我想在我的应用中实现两种功能,如颜色填充和视图放大。但问题是我无法同时实现这两个功能。因为我必须为我的UIView为两个功能指定两个差异类引用,这是不可能的。
换句话说,我有一个视图,我已经将类引用作为UIView(用于颜色函数)。但是对于放大功能,我必须将类引用作为MagnifyingView给该视图。因此,不可能同时实现这两个功能。
那么我怎样才能在不同的条件下给UIView和ACMagnifyingView两个不同的类引用到单个UIView?
我该怎么做?
感谢。
答案 0 :(得分:1)
你试过Categories
吗?查看本教程http://iphone-obsessed.blogspot.com.br/2010/05/tutorial-creating-class-categories-in.html
修改强>
Categories
工作原理:
你有一个UIView
类,你想要一些方法可以重复使用。你是做什么的:你创建了一个UIView
的类别,并将此方法添加到您的类别中,如下所示:
档案UIView+CustomView.h
#import <UIKit/UIKit.h>
@interface UIView (CustomView)
- (void)myCustomMethod;
@end
档案UIView+CustomView.m
#import "UIView+CustomView.h"
@implementation UIView (CustomView)
- (void)myCustomMethod {
// Whatever you want to do with this UIView
}
@end
现在,每当您需要使用myCustomMethod
时,您只需导入UIView+CustomView.h
,该类中的所有UIView
个对象都可以访问此方法。
档案MainViewController.m
,标题:
#import "UIView+CustomView.h"
文件MainViewController.m
,正文,在任何方法中:
[myView myCustomMethod];
考虑到这一点,我相信您可以添加ACMagnifyingView
作为子类,并使用此类别来使用自定义视图