问题标签 [uiwindow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3419 浏览

iphone - 为什么 UIWindow 是 UView 的孩子,也是 UView 的父母?

UIKit 参考说 UIView 是 UIWindow 的超类,但尽管有这种父级,但 UIWindow 实际上管理 UIView。这对我来说听起来很不寻常。

有谁知道这在软件设计方面有什么意义?

非常感谢。

编辑:
我阅读了 iPhone 编程指南中的相关段落。然而我不明白为什么他们会反其道而行之:让 UIWindow 成为 UIView 的父级。一定有什么东西迫使 Apple 以这种方式设计类层次结构。

0 投票
2 回答
140 浏览

objective-c - 逻辑错误还是我的程序跳过了部分?

仅供参考,我正在使用 Objective-C 编程,但任何人都可以提供帮助。在过去的两个小时里,我一直坐在这里试图找出问题所在,并且我已经尽我所能来调试这个简单的小编码问题。查看下面的代码,我会解释。在应用程序中,它从 MainScreenViewController 开始。我的应用程序为用户提供了两种选择……选择“主”按钮或“工作”按钮(基本客户端-服务器模型)。根据用户的选择,应用程序应该加载另一个视图(MasterViewController 或 WorkerViewController)。现在,当我运行应用程序时,如果您遵循打印命令并假设选择“主”按钮,那么在我的程序中,它会打印出“masterButtonPressed - Stage 1”和“ 出错了吗?就像我说的,当按下“主”按钮时,视图永远不会改变。谢谢你的帮助!

MainScreenViewController.h

MainScreenViewController.m

ErwinAppDelegate.h

ErwinAppDelegate.m

0 投票
2 回答
4827 浏览

objective-c - UIWindow 和 UIView addSubview 问题

addSubview 方法是否实际将视图加载到应用程序中?我问的原因是因为我的应用程序中有两个两个视图。应用程序委托将两个视图添加为子视图,然后将其中一个视图放在前面。现在,我在每个视图的每个 viewDidLoad 方法中都有一个打印语句。当我运行应用程序时,应用程序委托将视图加载为子视图,并且在加载每个视图时,我实际上看到控制台打印出我放置在每个 viewDidLoad 方法中的语句。这应该是这样做的吗?

0 投票
1 回答
1439 浏览

iphone - iPhone Dev - UIToolbar 进入窗口或视图?

我应该把 UIToolbar 放在窗口底部,然后把视图放在它上面(这样视图就不会在工具栏下面继续),还是应该让视图覆盖整个窗口,然后将工具栏添加为视图的子视图?所以我的问题是,工具栏应该是视图的子视图还是窗口?- 窗口:工具栏将与视图处于同一级别,并且不会重叠 - 视图:它将位于视图内部。

谢谢!!

0 投票
1 回答
1160 浏览

iphone - 无论我可能触摸过什么“视图”,如何获取触摸坐标?

在我的 ViewController 中,我有一个 UITableView,里面有一些自定义单元格。当我触摸一个单元格时,我想将触摸坐标直接放到我的 UIViewController 中。问题是,我只能从未被 UITableView 占用的屏幕部分获取坐标...,每当我的触摸落在 UITableView 的屏幕部分时,我的坐标就会被 NSLogged 回为 (0.000, 0.000)。无论碰巧触摸到哪个视图,我如何获取屏幕坐标?我从 UIScreen 开始吗?界面窗口?...

问题:如何获得触摸坐标,无论我可能触摸了什么“视图”?

0 投票
1 回答
2847 浏览

iphone - “Normal” UIButton causing obj_stack_overflow or EXC_BAD_ACCESS exception

It sure looks innocuous enough. In my App Delegate, I check NSUserDefaults for a flag to show tips at startup. If it’s set then, at the end of applicationDidFinishLaunching:, I do this:

The idea is to show this view temporarily. (Note that it’s not a modal VC. No Navigation Controller at this point, plus there’s no navigation bar in this view anyway.)

Once this view is dismissed, we’ll add our pre-empted UITabBarController’s view to the window and transition over to it, then remove the tip view from the main window. I haven’t made it to the view dismissal point yet because, well, keep reading.

My TipsView’s VC is wired up more or less like so:

The source contains declarations and definitions for all three IBAction calls. Right now two of them do nothing. The third one changes the tip text, resizes it to fit, and adjusts the scroll view’s contentSize to match.

When I run the app, the TipsViewController view shows up just fine. I can even scroll through the tip text. However, when I trigger a touch-up-inside on any UIButton, Xcode starts to plant me in the source (where I’ve placed a breakpoint at each IBAction) … and then bails out with either a EXC_BAD_ACCESS or obj_stack_overflow.

I have compared this with other parts of the app where I have a VC, a view, and buttons. It is identical in every way except that, in this case, I’ve added a VC’s view as a subview of the app’s window instead of pushing the VC onto a navigation controller. Moreover, the View Controller Programming Guide for iPhone OS docs say this is fair game:

If you use a single view controller in your application, you add its view to a window instead of adding the view controller to a tab bar or navigation controller.

True, I do have a UITabBarController waiting in the wings, and it has tabs with UINavigationControllers (and other VCs) in it. However, if the tip view is being shown, the tab bar controller’s view has not yet been added to the window. The intent is to swap it in after we’re done showing tips. In other words, for all intents and purposes, we’re temporarily acting like we have a single VC in play. Afterward, we switch to the tab bar and tear down the tip VC.

Perhaps I’m doing something subtly wrong? Is there a better way? (“There’s got to be a better way!”)

Sample stack trace:

As you can see from the trace, we end up at doesNotRecognizeSelector: … except I can clearly see the methods in my tip VC source. Plus, they’re all wired up. (No multiple wirings or anything like that in IB. Everything looks good there, down to the File’s Owner relationships.)

Clues welcome/appreciated!

0 投票
7 回答
132462 浏览

iphone - iPhone - 在整个 UIWindow 中获取 UIView 的位置

a 的位置UIView显然可以由view.centerorview.frame等​​确定,但这只会返回UIView相对于它的直接超级视图的位置。

我需要确定UIView在整个 320x480 坐标系中的位置。例如,如果它UIViewUITableViewCell窗口中的位置可能会发生巨大变化,而与超级视图无关。

任何想法是否以及如何实现?

干杯:)

0 投票
4 回答
22495 浏览

iphone - makeKeyAndVisible 和 makeKeyWindow - iphone 中的 uiwindow

在每一个应用程序中,

总是写成 [window makeKeyAndVisible];

makeKey 是什么意思?

0 投票
4 回答
2466 浏览

iphone - 在 xcode iPhone SDK 中添加 UIWindow

我正在创建一个项目,我必须在其中更改 main.m 文件,以便 UIApplication 不会立即出现,所以我从 main.m 中删除了以下行

并从 AppDelegate 中删除了这些行

我已经添加了一些我的行。现在 UIWindow 默认情况下不会出现,这是正确的。但是现在在我的代码执行之后,我想创建一个窗口并显示一些消息。

main.m 中没有 UIApplication 时如何创建 UIWindow?

0 投票
2 回答
6333 浏览

iphone - 如何从单独的类中更改 UIWindow 的颜色?

我试图在将操作发送到 MyController 类时更改 UIWindow 的背景颜色。但是 UIWindow 驻留在 AppDelegate 类中,因此我无权访问该变量来修改它

在我的控制器中。这是 MyController.m 的代码:

这是 AppDelegate.h 的代码:

我试图在 AppDelegate 类中实现一个方法 changeColorToRed...,因为该方法可以访问变量,但我无法从MyController 中window的方法调用它。sliderChanged

如何从另一个类修改 UIWindow * 窗口?