2013-04-09 21 views
6

Integruję aplikację iCarousel z aplikacją pojedynczego widoku. Ale gdy dodaję kontroler paska kart i umieszczam ten kod iCarousel w jednym pasku zakładek. Element viewcontroller.Ale to nie działa (Przedmioty są wyświetlane, ale nie przewijane). Jaki jest problem?Integracja iCarousel z aplikacją z kontrolerem na pasku kart w iOS 6.1

stworzyłem iCarousel jak poniżej:

iCarousel *categorySubView = [[iCarousel alloc]initWithFrame:CGRectMake(0,200, 300, 125)]; 

    categorySubView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
    categorySubView.delegate = self; 
    categorySubView.dataSource = self; 
    categorySubView.type=iCarouselTypeRotary; 
    [self.view addSubview:categorySubView]; 

używam następujące metody delegae i źródło danych:

-(NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel 
{ 

    return 5; 
} 
- (UIView *) carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{ 
    UIView *sampleView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 250, 300)]; 
    sampleView.backgroundColor=[UIColor whiteColor]; 
    UILabel *labelis=[[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 20)]; 
    labelis.backgroundColor=[UIColor clearColor]; 
    [email protected]"8Apr-14Apr"; 
    [sampleView addsubView:labelis]; 
return sampleView; 
} 

Proszę zasugerować mi.

Dzięki inadvance

+0

co masz na myśli przez "Elementy są wyświetlane, ale nie przewijane"? – NightFury

+0

elementy oznaczają obrazy lub widoki niestandardowe – rani

+0

Prosimy o opublikowanie źródła danych i delegowanie metod do wdrożenia iCarousel. – NightFury

Odpowiedz

2

Zauważyłem, że widok karuzeli jest znacznie mniejszy niż rozmiar elementów wewnątrz niego (to tylko 125 punktów wysoki).

iCarousel może rysować poza granicami, ale nie może wykrywać zdarzeń dotyku poza jego granicami, dlatego może być przyczyną problemów z przewijaniem.

Dobrym sposobem debugowania jest ustawienie karuzeli.clipsToBounds = TAK, w ten sposób to, co rysuje, będzie pasować do tego, co jest dotykalne. Inną opcją jest ustawienie karuzeli.backgroundColor, dzięki czemu można zobaczyć, która część jest dotykalna na ekranie.

Kolejną rzeczą do sprawdzenia jest to, że widok, w którym umieściłeś karuzelę w środku, ma wartość UserInteractionEnabled na TAK.

+0

Dziękuję Nick.To jest błąd, który zrobiłem. – rani