On 7 Oct 2013, at 19:54, Kyle Sluder <k...@ksluder.com> wrote: > On Mon, Oct 7, 2013, at 09:21 AM, Dave wrote: >> Hi, >> >> I'd like to be able to Scroll Infinitely in a Scroll, e.g. when the >> scrolling is past the last item in the Scroll start displaying the first >> and when scrolling before the first item, starting displaying the last. >> The items in this case are UIImageViews and they have a fixed height and >> a variable width and no one image will be wider that the Scroll View >> itself. Also it needs to work with pagingEnables = NO, e.g. there will be >> more than one Image visible. >> >> I've playing around a bit and found a some sample code that sort of does >> it but it doesn't handle the wrapping the Images smoothly (is was written >> to have paging enabled). >> >> My plan was/is to detect when the scrolling had hit before the >> first/after the last and to move the first Subview to the End or the Last >> one to the beginning, depending on the direction of movement, but at the >> moment, I can't seem to see a way of detecting these conditions. > > It seems fairly straightforward, if a little labor intensive, to figure > out the width and placement of all your image views, override > -layoutSubviews to position only the ones that are potentially visible, > and implement > -scrollViewWillEndDragging:withVelocity:targetContentOffset: to figure > out where to end scrolling, based on the current velocity. > > --Kyle Sluder
Thanks Kyle, That's what I was trying to figure out, whether I needed to re-layout the views based on the positions or whether I could just do it by keeping an Array of the image views separately and rotating this as it scroll past the end. I sort of got this working, but of course the Subviews of the Scroll View just grows and grows! This is what I got at the moment: // Scroll past last item detected (in the scrollViewDidScroll delegate method) if (theScrollView.contentSize.width - theScrollView.contentOffset.x <= 1024) { myContentInfo = [self.pContentArray objectAtIndex:0]; [self.pContentArray addObject:myContentInfo]; [self.pContentArray removeObjectAtIndex:0]; [self addContentInfo:myContentInfo withEndFlag:YES]; } Which kind of works, but obviously isn't the way to do it. Thanks for confirming I needed to use -layoutSubviews, I'm about to start on this track now. All the Best Dave _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com