2010-04-11 12 views
10

Merhaba: Bir UITableView içinde, bir tablo dizininde (tablo başlığı değil) bir arama çubuğu içeren bir bölüm dizini görüntülemek istiyorum. Ancak, dizin şeridi artık arama çubuğunun üstündedir. Bunu önlemek ve endeksi tablo başlığının altına yerleştirmek için zarif bir çözüm var mı?UITableView bölüm dizini, arama çubuğuna bastığında

+1

http://stackoverflow.com/questions/556814/changing-the-size-of -İyi arama çubuğu-metin alanı. . Mike'ın yorumunu kontrol et – thndrkiss

+0

thndrkiss: Yani cevap ver. Cevaplar yorum değildir ve Mike sadece bu soruya bir cevap gönderdi. –

+0

Merhaba, Sney bu sorunu çözdünüz mü? – iXcoder

cevap

10

Bu cevabın çok geç geldiğini anlıyorum, ama aynı problemi yaşadım ve burada ve başka yerlerde arama yaptım. Changing the size of the UISearchBar TextField?

birkaç öneri vardır, ama ben en basit bulduğu bir UIView bir UISearchBar ve UINavBar koymak ve setTableView için ilgili görünümü geçmek oldu: Buradaki iyi cevaplar buldum. Sorun, tablonun eklediğiniz herhangi bir ayarı göz ardı ederek başlık görünümünün boyutunu kontrol etmesidir. Yani görünümü ekleyerek tabloyu mutlu eder ve içeri girebilir ve tablo tarafından engellenmeden arama çubuğu boyutunu ayarlayabilirsiniz. UINavBar, UISearchBar ile aynı arka plan stillerine sahiptir, bu yüzden ekstra alanı görsel olarak tutarlı bir şekilde doldurur. Eğer çerçevesini çimdik zorunda - aşağıya bakın:

UISearchBar searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 1, 290, 40)] autorelease]; 
UIView *searchView = [[[UIView alloc] initWithFrame:CGRectMake(0, 1, 320, 40)] autorelease]; 
UINavigationBar *navBar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(1, -1, 320, 41)] autorelease]; // same gradient/style as search bar 
[navBar setTintColor:[UIColor lightGrayColor]]; 
[searchView addSubview:navBar]; 
[searchView addSubview:searchBar]; 
+0

Jon Cevabınız için çok teşekkür ederim. Benim için çalıştı! :) – alin

4

Ben endeksleri diziye boş dizeleri ekleyin:

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    NSMutableArray *array = [NSMutableArray arrayWithArray:_sortedKeys]; 

    [array insertObject:@"" atIndex:0]; 
    [array insertObject:@"" atIndex:0]; 

    return array; 
} 
+0

Bu, dizin işlevini bozmuyor mu? – newenglander

+0

Bu, daha büyük dizinlerde yardımcı olmaz, çünkü dizin bir dizi dizin girdisi yerine yuvarlak "noktalar" ile görüntülenir ve yine de görünümünüzün üzerine gelir. – RickJansen

İlgili konular