将NSTextField中的文本对齐到顶部?

时间:2015-08-18 22:10:26

标签: objective-c swift cocoa

在这里,您可以看到使用Xcode中的视图调试器检查的NSTextField。我希望文本在它的边界框内顶部对齐,而不是底部对齐,所以我可以将文本的底部与我的其他一些内容(图像等)对齐。

如何获得这样的布局?

enter image description here

3 个答案:

答案 0 :(得分:-1)

也许可以考虑使用UITextView并将其设置为可编辑

答案 1 :(得分:-1)

您需要继承NSTextFieldCell并重写以下方法:

- (NSRect)drawingRectForBounds:(NSRect)theRect

您可以使用newRect = [super drawingRectForBounds:theRect];之类的内容,然后尝试操纵newRect的值以达到您想要的效果。

如果需要,您还可以覆盖这些方法:

- (void)editWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject event:(NSEvent *)theEvent

- (void)selectWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject start:(NSInteger)selStart length:(NSInteger)selLength

答案 2 :(得分:-1)

您可以尝试 sizeToFit 方法。