UIScrollView の 1 つのセクション (1 つの写真) だけでコンテンツを非表示にしようとしており、contentOffset
以下のようにそのセクションにアクセスするために を使用しています。コンテンツ オフセットが 0 ~ 320 (画像のサイズ) の場合、画面上のさまざまな要素を非表示にしています。ただし、ユーザーが次の写真にスワイプすると (コンテンツ オフセットが 320 より大きい場合)、コンテンツをもう一度表示したいと思います。コードの最初の部分は問題なく動作しますが、ユーザーがスワイプしたときにコンテンツ オフセットが 320 を超えていることが検出されるかどうかはわかりません。私は ScrollViews にかなり慣れていないので、コンテンツ オフセットを常に更新するのか、それとも更新の原因となるユーザー スワイプを検出するのかがわかりません。ユーザーが最初の画像を超えてスクロールした後、非表示の要素を NO にする方法についてのアイデアはありますか?
if (scroller.contentOffset.x >=0<=320)
{
preview.hidden = YES;
share.hidden = YES;
barView.hidden = YES;
saveButton.hidden = YES;
shaddows.hidden = YES;
}
else if (scroller.contentOffset.x >320)
{
//This part does not work
preview.hidden = NO;
share.hidden = NO;
barView.hidden = YES;
saveButton.hidden = YES;
shaddows.hidden = YES;
}
これが私のスクローラーコードの残りの部分です:
int PageCount = 2;
NSMutableArray *myArray =[[NSMutableArray alloc]initWithObjects:@"12-4.png",@"13-4.png",nil];
scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
scroller.scrollEnabled=YES;
scroller.backgroundColor = [UIColor clearColor];
scroller.pagingEnabled = YES;
[self.view addSubview:scroller];
width=scroller.frame.size.width;
xPos=0;
for (int i=0; i<PageCount; i++)
{
ImgView = [[UIImageView alloc]initWithFrame:CGRectMake(xPos, 0, scroller.frame.size.width, scroller.frame.size.height)];
[ImgView setImage:[UIImage imageNamed:[myArray objectAtIndex:i]]];
[scroller addSubview:ImgView];
scroller.contentSize = CGSizeMake(width, 0);
width +=scroller.frame.size.width;
xPos +=scroller.frame.size.width;
}
ありがとうございました!