创建一个通用的基于窗口的 iPhone 应用程序,无需生成 xib 文件

发布于 2024-10-06 21:01:05 字数 376 浏览 3 评论 0原文

我正在尝试为 iPhone/iPad 创建一个基于 Window 的通用应用程序。我在 XCode 中使用了基于 Window 的模板,它为 iPhone 和 iPad 创建了必要的应用程序委托文件,但它也为每个设备创建了一个 xib 文件,我不想使用它——我想创建自己的视图以编程方式使用我自己的视图控制器,所以我想完全忽略提供的 xib 文件。

我从项目中删除了 xib 文件,并相应地更新了 plist 文件以不引用它们,认为现在我可以在应用程序委托中定义自己的视图,将它们附加到窗口并显示它们。不是这样——这不起作用——我创建的视图不会显示。所以我决定将窗口的背景颜色更改为红色,看看是否显示 - 它没有。跟踪代码执行确实表明该代码已被执行。

那么,我可以做什么、应该做什么?为什么会发生这种情况?

I am trying to create a Window-based Universal app for iPhone/iPad. I used the Window-based template in XCode and it creates the necessary app delegate files for iPhone and iPad, but it also creates a xib file for each device, which I don't want to use -- I want to create my own views programmatically using my own view controllers, so I want to totally ignore the provided xib files.

I deleted the xib files from the project and updated the plist file accordingly to not reference them, thinking that now I can define my own views inside the app delegate, attach them to the window and display them. Not so -- that doesn't work -- my created views are not displayed. So I decided to just change the background color of the window to red and see if that shows -- it doesn't. Tracing code execution does show that this code is executed.

So, what can and should I do? Why is this happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

早茶月光 2024-10-13 21:01:05

将 main.m 中的更改

int retVal = UIApplicationMain(argc, argv, nil, nil);

int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");

然后您必须在 AppDelegate 中初始化窗口:

CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame: screenBounds] autorelease];

然后您可以向窗口添加视图。

Change the

int retVal = UIApplicationMain(argc, argv, nil, nil);

in main.m into

int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");

Then you have to initialize the window in the AppDelegate:

CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame: screenBounds] autorelease];

Then you can add views to the Window.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文