我在窗口視圖中有一個NSTextField。當用戶調整窗口大小時,垂直調整NSTextField的大小
我已經嘗試了所有IB選擇,但我似乎無法實現以下目標:
有一個相當長的句子中的NSTextField - 當窗口調整爲窄寬度的NSTextField也越走越窄 - 將文本推送到下一行。然而,任何被壓入NSTextField底部的文本都會被截斷。我希望NSTextField垂直擴展其大小以適應更高的文本。
這可以自動完成還是應該觀察窗口大小調整事件並重新計算NSTextField的高度?
我需要支持10.7和10.8,我嘗試過使用Autolayout和Autoresizing,但無濟於事。
編輯 - 這是奮力基於傑裏的回答(和他從GitHub類)的代碼:在更高層次上
-(void)setFrame:(NSRect)frameRect{
NSRect myFrame = CGRectMake(frameRect.origin.x, frameRect.origin.y, frameRect.size.width, [self.stringValue heightForWidth:frameRect.size.width attributes:nil]);
[super setFrame: myFrame];
}
你可能會在這裏找到一些有用的信息:http://stackoverflow.com/questions/10463680/how-to-let-nstextfield-grow-自動佈局文本 – Monolo 2013-02-13 17:09:46
感謝Monolo - 實際上使用Jerry的類別與 - (NSSize)intrinsicContentSize相結合更好,因爲我不需要明確設置框架,因此它可以按順序保持Auto Layout。生活很好。 – petenelson 2013-02-15 12:17:37