Uiview 如何通过代码更改视图的自定义类

Uiview 如何通过代码更改视图的自定义类,uiview,uiswipegesturerecognizer,Uiview,Uiswipegesturerecognizer,在视图上执行滑动时,如何为同一视图设置类? 我已经导入了要更改为的类的头文件,例如#import“Circuit1.h” 它给了我一个错误:self.myView.class=super.Circuit1和其他2在运行时更改Objective-C对象的类在技术上是可能的,但这是一个坏主意。有关原因的详细解释,请参阅 但是,可以声明类型为Class的变量,并使用其中存储的值实例化对象: Class customClass = [Circuit1 class]; 然后像这样: [myView re

在视图上执行滑动时,如何为同一视图设置类? 我已经导入了要更改为的类的头文件,例如
#import“Circuit1.h”


它给了我一个错误:self.myView.class=super.Circuit1和其他2

在运行时更改Objective-C对象的类在技术上是可能的,但这是一个坏主意。有关原因的详细解释,请参阅

但是,可以声明类型为
Class
的变量,并使用其中存储的值实例化对象:

Class customClass = [Circuit1 class];
然后像这样:

[myView removeFromSuperview]; 
myView = [customClass alloc]initWithFrame:frame];
[containerView addSubView:myView]; 

但这需要在用户每次刷卡时重新创建视图。我不知道你的代码到底是做什么的,但是如果视图很复杂,这几乎肯定是错误的。如果您只有3个子视图,可能最好根据需要创建它们,将它们存储在viewController中的实例变量数组中,并在中的对象上找不到用户滑动属性“Circuit1”时将它们在视图层次结构中进行交换“视图控制器1。您是否在标题中声明了
circuit1
?2.是否已检查查看视图控制器是否存在于编译源中?3.你试过清理这个项目吗?(command+alt+shift+K)我确实做了1:#import“Circuit1.h”没有得到第二点,你能解释一下吗?我问你是否声明了它,而不是导入了它。尝试1、2和3,看看它们是否有帮助。您如何声明它?谢谢您,我希望能够更改视图控制器的类的原因是更改每个类中有不同图形的显示
[myView removeFromSuperview]; 
myView = [customClass alloc]initWithFrame:frame];
[containerView addSubView:myView];