2011-06-05 79 views
3

我想在我的UISearchBar下面添加範圍按鈕。不過,我無法更改內置範圍按鈕的色調。添加一個UISegmentedControl到UISearchBar而不是範圍按鈕

相反,我添加了一個UISegmentedControl到我的tableViewHeader。這工作得不錯,但它只顯示當我而不是鍵入到UISearchbar。不是很方便。

當我在UISearchBar中輸入文本時,表格和分段控件被「無結果顯示」半透明黑圖層隱藏起來。一旦結果開始顯示我的分段控制完全消失,並且只顯示結果的單元格。

我想讓分段控件在文本輸入到搜索欄時可點擊。

你知道有什麼辦法可以做到以下幾點嗎?

  1. 化妝正在輸入文本時,UISegmentedControl用的UISearchBar移動,或
  2. 顯示UISegmentedControl,而搜索結果將顯示在UITableView的

謝謝

回答

0

嘗試

@implementation UISearchBar (subviewAccess) 
- (UISegmentedControl *)scopeBar { 
    for (UIView *v in [self subviews]) { 
    if ([v isKindOfClass:[UISegmentedControl class]]) 
     return v; 
    } 

    return nil; 
} 

@end

得到你想要的分段控制的保持,並從那裏 着色工作(這是目前指數0,但是這絕對不是肯定的)

有沒有使用「私有API」,所以蘋果應該 但是請注意,如果他們改變了他們的視圖佈局(不太可能),這可能會中斷, 這會讓你的色彩消失的副作用,你應該通過標準搜索欄API

+0

嗨@bhirley,謝謝,不過我已經嘗試過了。這似乎將範圍按鈕更改爲正常的UISegmentedControl,但高度已經不足了。我也嘗試單獨訪問每個UISegment,但即使它響應setTintColor方法,顏色也不會改變。有任何想法嗎? – pchap10k 2011-06-06 01:01:39

+0

在iOS 5中有很多組件的附加着色支持,如果這是任何安慰 – bshirley 2011-06-07 02:46:39

相關問題