我很抱歉提出这样的问题,但我似乎无法从野外网上找到答案。
我想在自定义视图中找到NSTextField
的位置,因此我可以通过编程方式在其下添加其他文本字段。
我不仅在IB中添加其他文本字段的原因是因为我需要能够动态创建它们。
NSTextField
与IBOutlet
。
所以主要问题是:如何找出NSTextField
(或NSButton
的位置,它并不重要)atm in自定义视图(我需要获取项目的坐标)?
答案 0 :(得分:1)
使用NSTextField创建一个实例变量,然后在其上调用这些方法以获得所需的四个值。
NSRect textFieldFrame = [textField frame];
NSPoint textFieldLocation = textFieldFrame.origin;
NSSize textFieldSize = textFieldFrame.size;
NSInteger x = textFieldLocation.x;
NSInteger y = textFieldLocation.y;
NSInteger width = textFieldSize.width;
NSInteger height = textFieldSize.height;
答案 1 :(得分:0)
任何视图都包含bounds
和frame
属性。 bounds
是包含该视图自身坐标空间中视图的矩形; frame
是superview坐标空间中的包围矩形。在这种情况下,您需要文本视图的框架,即它在包含它的视图中的位置和大小,以便您可以在同一个超级视图中找到其他文本视图。
答案 2 :(得分:0)
从NSButton
继承的每种视图或控件(如NSTextField
,NSView
等)都有-frame
方法,其中包含定位信息。
如果您的自定义视图的IBOutlet
与NSTextField
相关联,则可以执行以下操作:
NSRect textFieldFrame = [textField frame];
NSRect
包含文本字段所在位置的所有信息。
有关详细信息,请参阅以下2个指南:
View Programming Guide: Understanding a View's Frame and Bounds