3 개의 UIViews
(320 * 568)을 갖는 것. scrollView
에 다시 사용하고 싶습니다. UItable 셀을 사용하는 것과 마찬가지입니다. 오전 너비가 320X10 인 UIscrollView
을가집니다. 즉 조회수가 10 회가 될 수 있습니다. 그러나 나는 단지 3 개의보기를 사용하고 싶습니다. 여기에 내 코드가 있는데, 너무 빨리 스크롤하면 잘 동작하지 않습니다. 도와주세요.UIScrollView에서 뷰를 재사용하는 방법
- (void) scrollViewDidScroll : (UIScrollView *) 보낸 사람 에 동일한 코드가 추가되었습니다. 올바르게 작동합니다. 하지만 그것은 NSLog ("hello")를 인쇄합니다; 약 10-15 번, 한 페이지 스크롤. . . . . .
(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSlog("hello");
int pageCurrently = scrollView.contentOffset.x/scrollView.frame.size.width;
if (scrollView.contentOffset.x < 320)
{
a=0;
b=320;
c=640;
}
else if (scrollView.contentOffset.x >= 320)
{
if(scrollView.contentOffset.x == 320)
{
a=0;
b=320;
c=640;
}
else if(toCheckScrollNumber == pageCurrently)
{
}
else if(pageCurrently > intPreviousPage)
{
largeVal=MAX(c, MAX(a, b));
smallVal=MIN(c, MIN(a, b));
if(smallVal==a)
{
a = largeVal + 320;
}
else if(smallVal==b)
{
b = largeVal + 320;
}
else if (smallVal==c)
{
c = largeVal + 320;
}
}
else if(pageCurrently < intPreviousPage)
{
largeVal=MAX(c, MAX(a, b));
smallVal=MIN(c, MIN(a, b));
if(largeVal==a)
{
a = smallVal - 320;
}
else if(largeVal==b)
{
b = smallVal - 320;
}
else if (largeVal==c)
{
c = smallVal - 320;
}
}
}
NSLog(@"a=%d , b=%d , c=%d ",a,b,c);
[_otlSubView1 setFrame:CGRectMake(a, 0, 320, 568)];
[_otlSubView2 setFrame:CGRectMake(b, 0, 320, 568)];
[_otlSubView3 setFrame:CGRectMake(c, 0, 320, 568)];
intPreviousPage=pageCurrently;
}
당신은 페이징을 할 필요가 https://github.com/caesarcat/InfinitePagingView – amar
당신이 대신 UICollectionView를 사용하지 않는 이유는 무엇입니까? 당신은 상자에서이 기능을 얻을 것입니다. –
@KakoSquid UI 요구 사항 때문에 UIcollectionView를 사용할 수 없습니다. – Jasmeet