如何给单个UIView两个不同的类引用?

时间:2012-07-23 06:19:44

标签: iphone objective-c ios ipad ios5

我想在我的应用中实现两种功能,如颜色填充和视图放大。但问题是我无法同时实现这两个功能。因为我必须为我的UIView为两个功能指定两个差异类引用,这是不可能的。

换句话说,我有一个视图,我已经将类引用作为UIView(用于颜色函数)。但是对于放大功能,我必须将类引用作为MagnifyingView给该视图。因此,不可能同时实现这两个功能。

那么我怎样才能在不同的条件下给UIView和ACMagnifyingView两个不同的类引用到单个UIView?

我该怎么做?

感谢。

1 个答案:

答案 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作为子类,并使用此类别来使用自定义视图