2010-02-06 19 views
5

UITableView için özel kaydırma çubuğu nasıl oluşturabilirim?UITableView Özel Kaydırma Çubuğu

İzleme başladığında açılan ve izleme bittiğinde kaybolan varsayılanı kaldırmak istiyorum. Bunun yerine, bir bilgisayar programında buna benzer bir tane olmasını istiyorum: (a) ekranın sağ tarafında ve kalıcı olarak görünür; (b) çubuğu manuel olarak kaydırmak UITableView öğesini uygun konuma kaydırır; (c) UITableView öğesini kaydırmak, kaydırma çubuğunu uygun bir şekilde (Apple'ın sağladığı varsayılan değeri göstermeden) kaydırır.

(b) ve (c) 'deki zorluk, bildiğim kadarıyla, Apple'ın yalnızca belirli bir satıra/bölüme kaydırmak için yöntemler sunması, ancak satırın dörtte üçüne kaydırmamalarıdır . Örneğin, kaydırma çubuğunu kaydırmak istersem, UITableView daha sonra yalnızca bir satırın/hücrenin üstüne gider. Bahsettiğim yöntemdir:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 

herkes önce kendi UITableView özel bir kaydırma çubuğu uygulamış?

  • UITableView içinde yerine bir hücreye

  • varsayılan kaydırma çubuğunu çıkarıp engelleyen başlamasından herhangi bir noktasına kaydırma: Ya biri bana şu sorunları çözmek için bir yol anlamaya yardımcı olabilir kaydırma çubuğu resim/animasyon değişen

  • görünmesini/UITableView olarak kaydırılan ne olursa olsun

Tha nks!


+0

Bu davranışı neden hiç istersiniz? Bunun, tablo görünümünün sağındaki bölümlere (örneğin, Kişiler uygulamasında görüldüğü gibi) sahip bir dizinden daha iyi olabileceğini hayal edemiyorum. Ayrıca Apple'ın HIG'sine uymuyor ve uygulamanızı App Store'dan reddedebilir. – MrMage

+1

kısmen "http://stackoverflow.com/questions/7976593/change-width-and-colour-of-scroll-bar-in-uitableview-iphone" yanıtını verdi. – alekhine

cevap

2

UITableView, UIScrollView'den miras alır, yani mevcut işlevlerden herhangi birini kullanabilirsiniz. Senin durumunda

-(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

iş yapmak gerekir. Masayı istediğiniz herhangi bir konuma taşır.

, mevcut kaydırma göstergesini devre dışı

table.showsVerticalScrollIndicator = NO; 

kullanmak Ve sadece Özel görünüm eklemek, kendi eklemek için!