如何管理OSX中的“窗口”框架?

时间:2013-11-06 06:57:40

标签: objective-c macos cocoa osx-lion osx-mountain-lion

我是iPhone应用程序开发人员。我是MAC应用程序开发的新手,现在我正在使用Mac OSX应用程序。这里我有两个屏幕。在第一个屏幕上有一个按钮(图1)。点击按钮它进入下一个屏幕(屏幕显示全屏,图2)。有一个文本字段存在。如果我们输入正确的文本它会回到上一个屏幕。我的问题是我无法在SecondView中设置文本框架,它没有得到设置在centre.And回到上一个屏幕按钮丢失(图3).Below图片清楚地解释了我的问题。

enter image description here

以全屏方式打开第二个窗口(MasterViewController)

[self.view removeFromSuperview];
[appdelegate.window.contentView addSubview:self.masterViewCohntroller.view];
self.masterViewCohntroller.view.frame = ((NSView*)appdelegate.window.contentView).bounds;

 NSApplicationPresentationOptions presentationOptions =     (NSApplicationPresentationHideDock |NSApplicationPresentationHideMenuBar |
    NSApplicationPresentationDisableAppleMenu |
 NSApplicationPresentationDisableProcessSwitching |
NSApplicationPresentationDisableForceQuit |
NSApplicationPresentationDisableSessionTermination    |NSApplicationPresentationDisableHideApplication);

NSDictionary *fullScreenOptions = @{NSFullScreenModeApplicationPresentationOptions: @(presentationOptions)};


[appdelegate.window.contentView enterFullScreenMode:[NSScreen mainScreen] withOptions:fullScreenOptions];

enter image description here

要返回全屏退出

  self.firstViewController=[[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];

[self.view removeFromSuperview];

[appdelegate.window.contentView performSelector:@selector(exitFullScreenModeWithOptions:) withObject:nil afterDelay:0.1];


[appdelegate.window.contentView addSubview:self.firstViewController.view];
self.firstViewController.view.frame = ((NSView*)appdelegate.window.contentView).bounds;

enter image description here

赞赏好的建议。提前谢谢。

0 个答案:

没有答案