How to add another page to an UIScrollView by swiping? - iphone

I am a french 17 years old guy so excuse my english.
I am creating an app' using an UIScrollView with an UIPageControl to display multiple UIView pages from UIViewControllers (which display an object) . Everything works pretty great.
Now i would like to add a new page (and a new empty object but that is not a problem) when I swipe the UIScrollView to the right in the last view.
How could I do that ? And if it's not possible, how can I update the UIScrollView ?
Thank you very much !

I think you need to keep an eye on two things. scrollViewDidScroll: & UIPageControl's currentPage. When you determine that the user is currently viewing the rightmost page & the UIScrollView was scrolled, you can add a new page to the UIPageControl. The amount by which the scroll view was scrolled is related to scrollView.contentOffset.x. A new page can be added to the page control by incrementing its numberOfPages & setting the currentPage to the newest page.
HTH,
Akshay

This is what you are looking for I think : a sample code from Apple to build a photo viewer that load images just before they appear on screen.
https://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010080

Related

XCode iOS - home screen style navigation

Sorry this is a pretty silly question, but I cannot think what the actual menu style is called. I'm trying to find a tutorial on how to create a instructions page that you flick through left and right to see more instructions. Basically exactly how the home screen works with dots representing how many screens there are and which screen the user is on, plus the same animation where if you flick left/right the next one slides on.
If anyone knows what these are commonly referred to as I can go look up some tutorials.
Thanks a lot,
Chris
This control is called a UIPageControl. And here's a link to a tutorial.
Use a UIScrollview with pagingEnabled.
add a UIPageControl to the view (wherever you want to see the dots).
Instruction pages should be added as subviews to the UIScrollView
Make sure to use UIScrollView and UIPageControl delegates to update the page in the pageControl.
If you need more info on how to implement this, search with keywords UIScrollView and UIPageControl

UIScrollViews and Dynamically Creating Pages

I want to be able to dynamically populate UIScrollView. Like how it is done for row views in UITableView. I have a class that takes in some parameters and creates the respective view when it scrolls. Currently I have 8 views.
These 8 views have different background image, image and label according to the page number it is currently in. However the basic skeleton for this view is the same. What i am doing right now is in ViewDidLoad I am creating 8 views and add them as subviews and scroll over.
I don't want to do this. I want to create three views and the rest i want to populate when the user scrolls a page and then a page etc. How do i do this? ANy pointers/tutorial?
First of all you calculate the ContentSize for the scrollview (when you want to use the iPad in landscapemode with 8 pages then the width should be 1024*8 = 8192px and the height 768px).
Then you should implement the UIScrollView Delegate method:
scrollViewDidEndDecelerating:
In this Method you check on which page you currently are with the contentOffset property of the scrollview and start updating your left and right hidden views..
Hope this helps you a bit.
Check the two most recent WWDC videos for two excellent sessions regarding expert use of UIScrollViews. Additionally you can review a brief tutorial here, written by the well known cocoa expert, Matt Gallagher.

Whats the approach to create a view similar to the one at apple app store

I wanted to know how can we design the view controller such that.., the upper half of the screen remains fixed and the below part of the screen can be navigated through.. !!
Should we use slipScreenController here ?
Your description sounds nothing like the Appstore app but the Appstore app simply has one vertical UIScrollView and another horizontal UIScrollView inside that for images.
If you are referring to browsing categories in AppStore then:
That is a tableView implemented in such way that it doesn't take the whole screen area. You need to create a UIViewController (not UITableViewController) and than add a tableView to the view (using Interface Builder or code). That way you can change the size and position of the tableView and use the remaining area of the view for something else, for example a UISegmentedControl above the tableView.
If you are reffering to reading description and images of single app then I think that UIScrollView is used for displaying images, not sure about the rest.

how to implement paging same as safari in iphone?

I want implement paging same as safari in iphone.When user touch below button of bottom then thaey shows total pages open so user can scroll wvery page.I want to implement this type of functionality.how it possible.Please advice me for this query.
Thanks in advance.
To implement the page scrolling page have a look at using UIScrollView and UIPageControl. Here's sample code from Apple which shows a simple implementation of this.
Basically each page is a view controller which UIScrollView manages by letting you swipe to scroll from one to the other. Not sure if this is exactly how safari does it but it's a good start.

Nested UIScrollView-iPhone photos application

I have been facing the same nested UIScrollView problem for long time.I tried some open source codes like Scrolling madness ,three-20 and others but all fails finaly.I am trying to make a photo Viewer application same as iPhone.For that I have created the structure like this:-
1)one View controller.
2)on view of view controller one UIScrollView (i.e inner/parent scroll view) as a child.
3)on inner/parent scroll view number of child scroll views(i.e. outer/child scroll views) ,each represents one page of photos application.
4)On each scroll view one image View on which i am displaying my image.
So what I want is when user scrolls the outer scroll view it should scroll horizontally with all the child views so I will get the look and feel of paging in photos application.Also when user is on one specific image(i.e. child/outer scroll view) he should be able to zoom in/out,swipes and perform single/double tapping.I was able to make it work in sdk 2.1,but it dosnt work since sdk 3.0.Please tell me the idea behind your project.Means which scroll view you are subclassing ,in which view to detect touches.How this completely child - parent relation should be.
If possible provide any sample code also.
There is a WWDC session from 2010 that deals with this very issue.
Here's the short of it:
You need a single scroll view that is paginated and scrolls horizontally. Each "page" of that scroll view is another scroll view containing a photo.
First, it looks like you want to subclass UIScrollView? Every interaction method you need is provided for you in either the delegate callbacks or the touch methods. (Many of Apple's more advanced classes, such as UIScrollView, react poorly to subclassing.)
Second, it sounds like you have a first responder problem. IOW, your innermost scrollview isn't getting the first crack at the touch events.
Andrew
I also struggled with this for a long time trying samples you mentioned. I could finally figure it out with the samples provided by apple (iphone dev center).
http://developer.apple.com/iphone/library/samplecode/Scrolling/Introduction/Intro.html
http://developer.apple.com/iphone/library/samplecode/ScrollViewSuite/Introduction/Intro.html
The first one is pretty basic and probably what u already have. The second one is all about zooming, etc. Just study these and the samples you already have, I think you will be able to figure it out. On specific topics just come back here search for answers or post another question.
EDIT: I forgot this one check out these examples by Andrey Tarantsov hosted on github. This is what you want... http://github.com/andreyvit/ScrollingMadness