【发布时间】:2013-09-19 22:36:55
【问题描述】:
我想在我的主视图中显示NSImageView:
img=[[NSImageView alloc]init];
[img setImage:[[NSImage alloc]initWithContentsOfFile:filename]];
width=img.image.size.width/2;
height=img.image.size.height/2;
[img setFrame:NSMakeRect(0,0,width ,height)];
mainview = [((AppDelegate *)[NSApp delegate]).window contentView];
[mainview addSubview:img];
图像已正确显示,但不是位于主窗口的左上角,而是完全位于屏幕的右侧。
上面有什么问题?
【问题讨论】:
-
自动布局使这更容易
-
重点是我想完全控制定位。那么我应该删除自动布局还是添加它?有什么建议吗?谢谢。
-
如果您使用自动布局,请停止尝试触摸框架。只需设置约束。在将视图添加为子视图之后将约束添加到超级视图。添加约束后,您可能需要在父视图上调用 layout 或 layoutIfNeeded。
-
我没有使用自动布局,因为我想完全控制位置。每次移动窗口/调整窗口大小以在正确位置重绘 nsimageview 时,如何获取事件?
-
自动布局让您控制。
标签: macos cocoa nsview nsimageview