改变UIView从UIControl实例编程

我有一个button,将视图的类更改为UIControl

我input了这行代码,但Xcode说这是一个错误

 -(IBAction)button:(id)sender { self.view.class = [UIControl class]; } 

所以,我的问题是如何以编程方式将我的视图的类更改为UIControl

你不能在运行时改变类的types。 或者,您可以将您的控件设置为停止处理用户交互:

 self.userInteractionEnabled = NO; 

在目标C中,你不能指定一个对象的class属性,并在UIViewController的实例(我假设你的代码驻留在)的实例内,你不能指派的loadView以外的view属性,而不会造成问题。

我认为关于改变一个客观的C类的一般问题有些误导,你可能需要对你的问题进行重新说明,以便有可能提出一种方法来做你想要做的事情。

究竟在做什么? 您是否尝试更改屏幕上显示的内容以回应事件? 你是否试图改变视图控制器视图的行为?

这些通常是通过添加/更改/修改视图控制器的视图层次结构来完成的,方法是添加其他UIView实例,而不是修改现有的实例。

你可以很容易的定义你自己的inheritance自UIControl的类,但是在上面的例子中你需要做更多的事情来开始使用它。

 @interface CustomClass : UIControl … @emd 

我可以build议以下介绍Objective C和iPhone编程指南形成苹果,可能会阐明如何在Cocoa做的事情。

  • 学习目标C – 入门
  • 用Objective C编程
  • iOS应用程序编程指南