0

我在只有 appdelegate 类的地方创建了一个应用程序。我不创建 UIView 或视图控制器。我刚刚在我的窗口中添加了文本字段、标签和按钮。

当用户点击文本框时,我想隐藏键盘。这通常通过 touchesBegan 方法实现。为了实现这个方法,我们需要做两件事。

一种是在头文件中添加(.h)

另一个是设置 textField 的委托。也就是说, textField.delegate=self;

我做了这两件事。但是仍然没有调用 touchesBegan 方法。

为什么?我应该有一个 UIView 或 UIViewController 类吗?

提前致谢

4

2 回答 2

3

UIWindow是 的子类UIView,所以你可以直接加入那些。但这是一个非常糟糕的设计模式。考虑修改您的应用程序,使其使用单个视图控制器,而不是在应用程序委托中执行所有操作。否则,您将陪审团操纵应用程序委托,使其成为它从未设计过的事情。

于 2011-05-04T14:01:16.793 回答
0

touchesBegan 是一个 UIView 方法。如果您想在您的设置中执行此操作,您应该创建一个 UIView 子类,将所有控件放入该子类中,并在 UIView 子类中实现 touchesBegan。

于 2011-05-04T13:59:17.923 回答