2009-07-24 36 views
0

我想知道如何改變NSSearchField的外觀,我很肯定這意味着將NSSearchField子類化,但是我不知道該怎麼做的是編碼它這是我想要的樣子。下面你可以看到我想要的樣子以及目前的樣子。改變NSSearchField的樣式

alt text http://snapplr.com/snap/3f1r

如何我想使它看起來像這樣(左)通過使用代碼? 我期待添加浮雕並減少內部陰影。

回答

3

您需要製作一個自定義NSSearchFieldCell子類,並覆蓋drawWithFrame :,然後將您的NSSearchField設置爲使用該單元格。您可以使用代碼繪製自定義邊框,也可以使用水平平鋪中心的封底圖像和背景圖像。

這裏是舊代碼的an example,它使用後一種方法在NSSearchField是標準控件之前創建一個看起來像搜索字段的自定義NSTextField。

+0

啊,我明白了。我如何使用代碼繪製自定義邊框? – Joshua 2009-07-24 14:29:00

-1

如果你只是想增加NSSearchField的大小,那麼你不需要子類化它,你只需編程創建搜索字段並在initWithFrame期間給出你想要的大小。

一個例子如下:

mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,44,320,70)]; 
    mySearchBar.autocorrectionType = UITextAutocorrectionTypeNo; 
    mySearchBar.autocapitalizationType = UITextAutocapitalizationTypeNone; 
    mySearchBar.showsCancelButton = NO; 
    mySearchBar.delegate=self; 
    [self.view addSubview:mySearchBar]; 

或者,如果你想有一個不同的外觀,指定它;我能幫你。

+0

我希望它有一個浮雕,我希望它有一個陰影,看看圖片,看看我的意思。 – Joshua 2009-07-24 08:01:45

+1

該操作正在討論NSSearchField(Mac)而不是UISearchBar(iOS) – strange 2012-05-16 16:50:01

0

老實說,左邊的那個區域對我來說看起來是雙重的。所以你可以嘗試重寫drawRect:發送[super drawRect:]兩次。 ☺

(真正的考驗是,如果你能證明在他們的文字這兩個字段。雙擊敲擊文字是很容易被發現,而且絕對不是你想要的東西。)