设置自定义长度和宽度NSWindow

时间:2009-10-12 17:20:07

标签: cocoa nswindow

对于我的应用程序,我想从应用程序本身为我的NSWindow设置自定义长度和宽度。我已经完成了所有设置(NSTextfields)但是我很难理解我应该怎么做。

2 个答案:

答案 0 :(得分:4)

您想在NSWindow上使用setFrame:display:setFrame:display:animate:方法。

来自documentation

- (void)setFrame:(NSRect)windowFrame display:(BOOL)displayViews

<强>参数
窗框
窗口的框架矩形。

displayViews
指定窗口是否重绘需要显示的视图。当YES时,窗口向其视图层次结构发送displayIfNeeded消息,从而重绘所有视图。

答案 1 :(得分:3)

NSRect的定义如下:

typedef struct _NSRect {
    NSPoint origin;
    NSSize size;
} NSRect;

NSSize的定义如下:

typedef struct _NSSize {
    CGFloat width;
    CGFloat height;
} NSSize;

您需要先将NSString转换为数字。你可以这样做:

CGFloat numericalValue = [stringValue doubleValue];

(我实际上并不记得CGFloat是否被定义为floatdouble。我现在太懒了,无法查找它。)请注意,这将是如果stringValue不代表格式正确的数字,则会导致异常。