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