标签: uiwindow

iOS - 在窗口中获取视图的位置?

我有一个UIView,它在点击后显示一个弹出窗口.弹出窗口需要添加到主UIWindow以确保它在其他所有内容之上.

我希望这个弹出窗口的位置与我的UIView相关,所以我需要知道我的UIView在窗口中的相对位置.

问题:当UIView不是直接在UIWindow中时(如果在我的viewController视图中),如何在UIWindow中找到UIView的位置?

iphone objective-c uiwindow ios

33
推荐指数
4
解决办法
4万
查看次数

获取应用程序的主窗口

UIApplication有一个方法keyWindow,但是如果显示警报视图,则返回警报视图的窗口而不是应用程序的主窗口.

如何获得应用程序的主窗口?

objective-c uiwindow uiapplication ios

31
推荐指数
3
解决办法
3万
查看次数

将UIView原点转换为其Window坐标系

我想在窗口坐标系中获取scrollView的原点.例如,目前,scollView的起源是(0,51).但是在窗口坐标系中它应该是51 + 44(导航栏高度)+20(状态栏高度)= 115.在窗口坐标系中,scrollView.frame.origin应该是(0,115).我尝试使用convertPoint:方法,但有时会得到(0,51)或(0,0).请提供解决方案.谢谢

uiview coordinate-systems uiwindow ios

30
推荐指数
3
解决办法
4万
查看次数

如何删除UIWindow?

我觉得这很简单[myWindow resignKeyWindow],[self.window makeKeyAndVisible]但我猜不是......你们不知道该怎么办?

谢谢 :)

iphone cocoa-touch uiwindow ios4 ios

29
推荐指数
3
解决办法
3万
查看次数

iPhone - UIWindow根据当前方向旋转?

我正在为我的应用添加一个额外的UIWindow.我的主窗口正确旋转,但我添加的这个附加窗口不会旋转.

根据当前设备方向旋转UIWindow的最佳方法是什么?

iphone objective-c uiwindow screen-orientation

27
推荐指数
2
解决办法
2万
查看次数

查看所有内容:UIWindow子视图VS UIViewController子视图

为了使UIView所有视图都像行为一样UIAlertView,我看到的最好的方法是将它放在应用程序窗口中,即将视图添加到:

[[[UIApplication sharedApplication] delegate] window]
Run Code Online (Sandbox Code Playgroud)

但是,我发现它的缺点是它不会自动进行旋转.为了使其轮流,最好的方法是在当前的AppDelegate window.navigationController/ 上添加视图rootViewController,但是,通过这样做,它将不再是所有内容.假设当显示视图并且有一个modalViewController弹出窗口时,模态视图肯定会掩盖视图.

我的问题是,是否可以将子视图添加到最顶层的窗口支持方向?在这种情况下我需要两组Nib文件吗?如何UIAlertView结合最顶层和定位支持的魔力?当我查看时UIAlertView.h,我看到实际上有2个UIWindows,一个叫originalWindow,另一个叫dimWindow.有没有可以找到源代码的地方UIAlertView.m

iphone xcode uiview uiwindow uialertview

27
推荐指数
2
解决办法
4万
查看次数

使用故事板时子类化UIWindow

我有同样的问题,如本问题所述:

我在哪里可以将我的应用程序使用的窗口从UIWindow更改为我自己的子类"MyWindow"和storyboard?

我的问题是如何在我的app委托中实现一个'window'getter方法,返回'MyWindow'子类?或者也许有其他方法可以将我的子类分配到我的应用程序的主窗口?

iphone cocoa-touch objective-c uiwindow ios

26
推荐指数
1
解决办法
8756
查看次数

在堆叠的UIWindows之间传递触摸?

我有两个窗户 - 一个是前窗,另一个是后窗.前面的一个用于覆盖后面的一些东西.我希望能够捕捉前窗某些部分的触摸,而不是其他部分; 我希望前窗在某些区域接收触摸,但是将它们传递到其他区域的后窗.

关于我怎么做的任何想法?

touch uiview uiwindow ios

25
推荐指数
1
解决办法
5016
查看次数

更改UIWindow的rootViewController

当我的应用程序第一次加载时,我将rootViewControllermy 的属性设置UIWindowcontrollerA.

在我的应用程序中的某个时候,我选择更改rootViewControllercontrollerB.

问题在于,有时当我进行翻转过渡时controllerB,我会看到controllerA背后的观点.由于某种原因,视图没有被删除.什么更令人担忧的是,设置后rootViewControllercontrollerB,controllerAdealloc方法永远不会被解雇.

我已经尝试UIWindow在切换之前删除手动的子视图controllerB,这解决了controllerA在后台看到视图的问题但是controllerAdealloc仍然永远不会被调用.这里发生了什么????

苹果文档说:

根视图控制器提供窗口的内容视图.将视图控制器分配给此属性(以编程方式或使用Interface Builder)将视图控制器的视图安装为窗口的内容视图.如果窗口具有现有视图层次结构,则在安装新视图之前将删除旧视图.

UPDATE

这是我的AppDelegate的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [self showControllerA];
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)showControllerA
{
    ControllerA* a = [ControllerA new];
    self.window.rootViewController = a;
}

- (void) showControllerB {
    ControllerB* b = …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller uiwindow ios rootview

25
推荐指数
1
解决办法
1万
查看次数

UIWindow endDisablingInterfaceAutorotationAnimated:错误

当用户进入MFMailComposerViewController并按下主页按钮时,我收到以下错误:

[UIWindow endDisablingInterfaceAutorotationAnimated:]调用>而不匹配-beginDisablingInterfaceAutorotation.忽略.

我浏览了论坛,其他一些人在不同情况下遇到过这个错误,但是没有解决方案.

我已shouldAutorotate在应用程序中的所有View控制器中设置为:

- (BOOL)shouldAutorotateToInterfaceOrientation:
                                  (UIInterfaceOrientation)interfaceOrientation
{
    return interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ||
           interfaceOrientation == UIInterfaceOrientationPortrait;
}
Run Code Online (Sandbox Code Playgroud)

objective-c orientation uiwindow ios

24
推荐指数
1
解决办法
6009
查看次数