ios - 显示没有 UIViewController 的 UIView

标签 ios uiview uiviewcontroller

我正在尝试创建一个可以在游戏中的任何位置显示的自定义 UIView。换句话说,UIView 并不绑定(bind)到特定的 UIViewController。

现在我的解决方案是将 UIViewController* 存储在我的自定义 UIView 中,每当我使用的 UIViewController 发生更改时就设置它,然后将 UIView 添加为 Controller 的 subview 。

我认为必须有一种更好、更安全的方法来处理这个问题,但到目前为止我还没有找到任何东西。

谢谢

最佳答案

创建一个 UIView 子类。文件 > 新建文件 > Objective-C 类 > (UIView 的子类) > 为其指定一个类名。

所以现在你应该有像 MyCustomView.h 和 .m 这样的东西

在要显示自定义 View 的 View Controller 中导入头文件

#import "MyCustomView.h"

然后只需将其添加到您当前的 View

MyCustomView *myCView = [[MyCustomView alloc] initWithFrame:<Where You Want It>];
[self.view addSubview:myCView];
[myCView release];

您可以使用 Interface Builder 以图形方式布置自定义 View 。或者您可以通过编程来完成。如果您采用 IB 方式,请创建一个新文件,单击“用户界面”,然后单击“查看”。为其指定相同的类名,即 (MyCustomView)。

选择文件所有者显示身份检查器(选项命令 3)。 对于 Class,将其从 NSObject 更改为 MyCustomView。

关于ios - 显示没有 UIViewController 的 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6524961/

相关文章:

ios - 如何使用 firebase 和 Xcode 将不同的用户发送到单独的 View Controller

ios - 如何处理工具栏中的 IQKeyboardManager 完成按钮操作?

ios - 在 UIView 中逐像素绘制像素

ios - 在 View Controller View 中渲染/显示可重用 View

ios5 - 为 iOS 实现 Google Analytics

ios - 启动后立即添加 View 时出现 "Application windows are expected to have a root view controller"消息,仅限 iOS 9

ios - View Controller TDD

ios - 单元测试似乎有效但不插入数据

c++ - 如何将 C++ 变量存储为 NSDictionary 中的值?

objective-c - 如何提高滞后的 UIView 动画的性能