你如何以编程方式设置 NSView 的大小,例如
-(void)awakeFromNib {
self.frame.size.width = 1280; // Does nothing...
self.frame.size.height = 800; // ...neither does this.
...
笔尖(Mac OSX)中的大小设置工作正常,但我想在代码中进行。
你如何以编程方式设置 NSView 的大小,例如
-(void)awakeFromNib {
self.frame.size.width = 1280; // Does nothing...
self.frame.size.height = 800; // ...neither does this.
...
笔尖(Mac OSX)中的大小设置工作正常,但我想在代码中进行。
当您调用 self.frame 时,它返回帧中的数据,而不是指针。因此,结果的任何变化都不会反映在视图中。为了更改视图,您必须在进行更改后设置新框架:
- (void)awakeFromNib {
NSRect f = self.frame;
f.size.width = 1280;
f.size.height = 800;
self.frame = f;
//...
}
使用方法 -setFrameSize: 或 -setFrame:
要以编程方式设置应用程序的大小(这就是我想要做的),您需要这样做:-
- (void)awakeFromNib {
...
NSWindow* w = [self window];
NSRect f;
f.size.width = 1280;
f.size.height = 800;
[w setFrame:f display:YES];
}