自动布局:窗口调整大小时如何更改框架的原点?
Posted
技术标签:
【中文标题】自动布局:窗口调整大小时如何更改框架的原点?【英文标题】:Autolayout: How to change frame's origin when window resizes? 【发布时间】:2013-10-29 20:24:09 【问题描述】:我有一个使用 Autolayout 的 NSWindow。它只包含一个放置标签 (NSTextField) 的视图。此标签中的文本是动态的,并且在我的应用程序运行时会发生变化。当插入较长的文本时,由于我的垂直和水平限制,我的窗口会完全调整大小。
我的问题是,我的窗口应该位于屏幕的右上角(就在菜单栏下方)。当我的窗口在满足我的约束时调整大小时,我需要在屏幕上重新定位我的窗口。
最好的方法是什么?
【问题讨论】:
【参考方案1】:在你的 applicationDidFinishLaunching: 方法中注册 windowDidResizeNotification 来处理 resize 事件:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:NSWindowDidResizeNotification object:nil]; //register resize notification
然后在通知处理程序方法中,使用您之前使用的代码将窗口设置为右上角。
- (void)handleNotification: (id) sender
//code to set window to top right corner
我最近的一个回答可以帮助你:https://***.com/a/19677527/1987246
【讨论】:
以上是关于自动布局:窗口调整大小时如何更改框架的原点?的主要内容,如果未能解决你的问题,请参考以下文章