2012-06-29 55 views
2

NSView http://f.cl.ly/items/120B2W082x1t1J012114/Screen%20Shot%202012-06-29%20at%2012.31.26.png定位的NSTextField正確地SETFRAME:

我有我的定位裏的意見我NSTextFields問題,所以我希望你們能幫助我。我有這個帶有[theView setFrame:NSMakeRect(10, 10, 64, 64)];的NSView * theView,它將視圖完全放置在我想要的位置。

但現在我試圖添加一個NSTextField作爲一個子視圖到視圖,但有些不對。現在上面的圖片應該是

這裏是我的代碼是什麼樣子:

primaryDigit = [[NSTextField alloc] init]; 
[primaryDigit setFrame:NSMakeRect(4, 6, 60, 58)]; 
[primaryDigit setFont:[NSFont fontWithName:@"Helvetica Neue" size:55]]; 
[primaryDigit setBezeled:NO]; 
[primaryDigit setEditable:NO]; 
[primaryDigit setSelectable:NO]; 
[primaryDigit setDrawsBackground:NO]; 
[primaryDigit setTextColor:[NSColor whiteColor]]; 
[primaryDigit setStringValue:@"2"]; 
[self addSubview:primaryDigit]; 

wrong http://f.cl.ly/items/1C3A34241K3s3l2B2U3M/Screen%20Shot%202012-06-29%20at%2012.45.38.png

當我做[primaryDigit setFrame:NSMakeRect(0, 0, 64, 64)];數字不會在左下角結束了,但它這樣做:

strange http://f.cl.ly/items/2Y0X2F0H071M222b2W3P/Screen%20Shot%202012-06-29%20at%2012.49.51.png

有一些基本的東西,我不理解這些定位的看法?我很喜歡noobie,但我仍然認爲我明白這一點。 (順便說一句,字體是這些圖像不同,但應該不會造成問題,我覺得呢?)

更新:爲「dasdom」問我,這裏的文本字段背景顏色 backgroundcolor http://f.cl.ly/items/463c161r0T3A1D3h0G3G/Screen%20Shot%202012-06-29%20at%2013.45.28.png

+0

NSTextField是一個容器。嘗試通過設置文本視圖的背景顏色來調查此問題。 – dasdom

+0

這個'[self addSubview:primaryDigit];'在'theView'類中,對吧? – Alexander

+0

@dasdom我在上面添加了一張圖片。有色區域似乎是正確的,但爲什麼不是文字? – iMaddin

回答

1

好吧,我發現問題是什麼。

NSTextFields中的文本需要「空間」。所以當他們有文字時,他們不會出現在視圖的左下角,但是位置有點偏離它。

這也意味着,如果NSTextFields沒有一個框架足夠大,則文本可能會出現中斷。

一個這裏例如:two http://f.cl.ly/items/363r28013j2k463J271l/Screen%20Shot%202012-06-29%20at%2016.18.35.png

所有紅色空間中的「2」以上具有在那裏,否則數字將移出框架,並在底部被切斷。