2009-08-10 53 views
1

今天我有一個問題,從這個發芽:Database Results in Cocoa。這涉及使用數據庫返回的數據來創建一定數量的問題。我正在使用以下代碼的一種形式(這是張貼在問題中)。動態結果和覆蓋數據

NSMutableDictionary * interfaceElements = [[NSMutableDictionary alloc] init]; 

for (NSInteger i = 0; i < numberOfTextFields; ++i) { 
    //this is just to make a frame that's indented 10px 
    //and has 10px between it and the previous NSTextField (or window edge) 
    NSRect frame = NSMakeRect(10, (i*22 + (i+1)*10), 100, 22); 
    NSTextField * newField = [[NSTextField alloc] initWithFrame:frame]; 
    //configure newField appropriately 
    [[myWindow contentView] addSubview:newField]; 
    [interfaceElements setObject:newField forKey:@"someUniqueIdentifier"]; 
    [newField release]; 
} 

但是,現在當我嘗試使用IFVerticallyExpandingTextfield(從http://www.cocoadev.com/index.pl?IFVerticallyExpandingTextField),或產生任何大量的文字,它只是越過其他繪製的內容。我看着使用setAutosizingMask:在對象上,但它迄今還沒有工作。

感謝您的任何幫助。

編輯:我想要的效果是什麼樣子被稱爲「正確的文本字段」,併發生了什麼叫「StackOverflow的樣本」 - http://www.mediafire.com/?sharekey=bd476ea483deded875a4fc82078ae6c8e04e75f6e8ebb871

編輯2:如果沒有人知道如何使用此IFVerticallyExpandingTextfield類,是否有人知道是否有其他方式來完成效果?

+0

我不確定,但我認爲您應該使用NSScrollView而不是您的容器視圖的NSWindow的contentView。 – 2009-08-17 11:48:11

+0

嗨Virgil:在我的實際代碼中,我使用的是NSScrollView,但使用它時仍然會出現問題。 – PF1 2009-08-17 16:00:25

回答

1

您的意思是?

http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaDrawingGuide/GraphicsContexts/GraphicsContexts.html

你的問題我不太清楚,但是這可能幫助^^^。

看看該頁面上的'修改當前圖形狀態'。

剛剛從'Correct textfield'示例中將代碼完全複製並在應用程序中使用它的情況如何?或者從「正確的texfield」示例開始您的應用程序。

而且

http://www.cocoadev.com/index.pl?IFVerticallyExpandingTextField註釋說:

試試看吧!您應該能夠將 放入項目中,在Interface Builder中讀取 文件,並使用 自定義類窗格將 NSTextField編輯爲IFVerticallyExpandingTextField中的 。你將 需要設置 換行的佈局和 linebreaking屬性包裝這個工作。

雖然擴張應該工作正常 當文本框是 嵌入在一個子視圖,我遇到了一些麻煩 處理NSScrollViews。 該字段展開爲滾動視圖的內容視圖 ,但滾動條上的控件不會顯示任何 。 一些幫助在這裏將不勝感激。

+0

Hi Koning:我肯定會查看那個鏈接,但是你想讓我上傳一些示例代碼,以便更好地展示問題嗎? – PF1 2009-08-17 17:55:57

+0

如果你認爲它會更好地解釋一切,當然! – 2009-08-17 18:03:02

+0

我剛更新了文章的鏈接。 – PF1 2009-08-17 21:31:36