iOS5: best practices in building an app using tableviewcontrollers - ios5

I'm building this app about my city. I'm using a tabbarcontroller with 4 tabs: "What to do, Where to eat, Where to stay and Services". For example, if I go to "Where to eat" a tableviewcontroller shows a table with "Table service", "Counter service", "Snaks", etc. Going into table services, you get "Italian", "Mexican", etc. So as you can see, I have a lot of tables to show everything I want. And my storyboard is getting pretty slow (too many scenes). The question is, is this the correct way to creat an app like this? I'm attaching a screenshot of my storyboard so you guys have an idea of what does it look like. All the scenes are tableviewcontrollers, except the root whitch is a tabbarcontroller.

Probably this tutorial will be useful for you:
http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

Related

Springboard-like menu to select other views in storyboard

I use a storyboard and I want to make a springboard menu like that http://static5.businessinsider.com/image/4d657896cadcbbd948120000-590/this-is-what-badoos-iphone-app-looks-like-when-you-first-launch-it-just-one-of-many-ways-to-use-the-service-smartly-you-can-do-things-without-registering-lets-look-at-people-nearby.jpg with only one page and nine icons.
I found the library Three20 but it is complex and I have problems to import it to my project.
Any suggestion?
Just for the people who are looking for the answer (it's hidden in the comments below the question);
me:
What exactly is the purpose of this springboard? Does it have to be dynamic? Do people drag things around? Can you delete stuff on it? If the answer is no for all of the questions; just place a few buttons on an empty page.. If the answer is yes on some of the questions; it's just as easy to write one yourself as it is to understand some open source framework (three20 has long passed its expiration date i.m.o).
Ángel Carlos del Pozo Muela:
Not dragging things or deleting, only select icon to go to another
view. Any advice to do it using storyboard? Thanks a lot.
me:
I think dragging buttons onto your view in a grid-like manner, and
connecting the touch events to new views, should do the trick. Even in
storyboard.
I can confirm that the old version of the Badoo app actually used three20. ;-) So I guess you're stuck with implementing that, although I wouldn't add three20 to any new project.

The best way to create an "instruction view" for my app?

Im planning on adding a instructions view to my app. Whats the best way to do it? Load a PDF into a webview or..?
Please suggest anything I might find helpful.
I also want it to look good for the user, not to plain.
You might want to consider using a UIWebView to load content that resides on your web server. The downside is that the user needs network connectivity to see the instructions and you need to know your way around at least some web development. However, you'll be able to use HTML+CSS+Javascript to create interesting content and you'll be able to change/update/correct that content without going through the hassle of releasing the app again.
I've seen a few apps put screenshots into a scrollview with a paging control. I really like that design, and there are plenty of tutorials online that explain how to do this.
You can implement instruction view different ways:
1) Just put textview and make scroll. (very simple)
2) Design the HTML instruction, and load it to the webview. (medium in look vise)
3) Create attractive design for instruction pages and implement scroll view with pages. (very attractive)
Please review above point and let me know in case of query.
Thanks.
I would use a info button (the lowercase "i" button, can be accessed by inserting "Round Rect Button" and changing type to one of the "Info" buttons or in code you could init a button with type: "UIButtonTypeInfoDark" or "UIButtonTypeInfoLight") on your main or first view controller. Inside that view you could put an UITextView with editing OFF and that would contain all your instructions that the user could scroll through and get to quickly, easily, and intuitively

Create springboard like main view

Is there some sample code, or an easy way, to implement an application with as its first view something like Springboard?
What I am looking for is just a view with basic icons which after a tab on an icon tells the view-controller to push the view associated with the selected icon.
This in itself is not that difficult off-course (just putting images on a view), but is there an easy way to implement all the extra functionality as well (as e.g. moving the icons around (start 'vibrating' when when you push hold them), multiple pages etc.). The Facebook App seems to have this. It is probably not worth my while to write it myself, but it would be nice if there is something 'out of the box' to give the App a bit more of an iPhone feel.
Thanks in advance!
Facebook uses the Three20 library for its UI. The specific view used for the SpringBoard-like interface is known as TTLauncherView.
This is not an endorsement (I have yet to really check this out, and I may be too entrenched in using Three20 at this point to even bother), but here is another project that implements the springboard functionality: myLauncher on Github
You can use UICollectionView to create this
Look at this example
https://github.com/tularovbeslan/Springboard

Is it possible to turn a View-Based App into a navigation-Based App?

I am close to finishing my first application (a UITableView style one) on the iphone but have realised it will look much better, and stand a far better chance of getting through the approval process, if it is presented as a navigation-based app rather than a view-based one - in hindsight my initial choice is not really suitable...
Is it possible for me to somehow change easily the application into a new type, or would i be better starting again from scratch with all the hassle that would entail...
thanks for any advice on how it may be done,
karl
It wouldn't be particularly difficult to shift the means of interaction to a navigation controller from a simple view controller (it also isn't difficult to go the reverse direction). Although, there isn't anything as simple as a tutorial on how to do it or menu item you can select. You could look at the plumbing generated by Apple's template for a navigation based application and add the necessary glue to your app delegate. Once that is in place you could simply push your view based applications view controller onto the navigation stack. If you have more specific questions or are stuck somewhere in particular we can help to get you un-stuck if you provide details about where you are running into issues.
As an aside, I doubt your application will be rejected solely for being view based vs. navigation based.
Hmmmmm, for soem reason t wont let me add anything to comment on your post!
Anyway, i guess this is as good as anything here...
Ive been messing for the last hour or so and have managed to integrate my old code/data etc into a new navigation one without too many problems, in fact it looks nicer with a title bar at the top!
(I do like to try and work stuff out for myself so its a good learning curve!)
I am still struggling in that although the new view opens up i am
struggling to use a string from the first view (I have a UITableview table in there, i select a row and get a correct value from it which i currently check via an alert message) in the second view.
for some reason i do not get a title bar and 'back' button in the 2nd view so i guess it is not being put on the stack correctly (I have put a quick 'return' button in the view for testing purposes so i can navigate backwards and forwards).
Still, Im about 100% further on than i was earlier!
cheers for the reply,
Karl

How can you have a page with a button that change views that is not a table view? (iPhone Developing)

I asked a similar question and someone gave me a tutorial link. But, the link made me use a table view and it looks bad with all the lines and stuff. So how do I just make a view with a button and background and stuff (Please write steps in 1.2.3.. format and it would be nice if you attached the code needed too.)???
It's really difficult to fit that kind of project into a comment field, and, in any case, the best way to learn is to get your hands dirty.
Take a look at the Utility sample project that is built into Xcode. Create a new project in Xcode, and under the iPhone Application templates, select Utility Application. This template project uses a button to switch between two views.