is it possible please to build small application with interface builder without coding, just to make sure that my interfaces are well organised ?
For the navigation interface, no. You need to programmatically push views into the navigation stack.
Interface Builder is a layout tool for individual screens. Connecting them in a navigation flow happens in code.
I second #fluchtpunkt's comment that you might want to look at publishing your content as an iBook rather than a native app. Or you could look at one of the html-to-native-app solutions like PhoneGap or Appcellerator. I've never worked with either of them, but theoretically if you have any HTML ability at all, they flatten out the learning curve of simple app building very significantly.
If you just want to test your interface you should probably use a mockup tool. I have good experience with blueprint. Or try something like interface (http://www.lesscode.co.nz/interface). Here you can create a GUI prototype and export it to XCode (maybe you can run the app at the simulator with navigation after this operation…) but i don’t know because i haven’t any experience this tool!
Related
I have a question about universal app. My app will not have storyboards or xib file. There is possibility to write universal iPhone/iPad application without it? I found some tutorial how to create universal app with storyboard, but i don't want (i can't) use this feature in my project.
If it is possible What should i do? If i have to made changes only in ViewControllers? I'm start to do this, i'm not changing old project so i can do anythng - what should i learn/what should i remember?
I'm targeting to iOS 5.
EDIT:
I have a screen information in resource file and my rootViewController or any other ViewController will be created in compile time, so i can't have xib file for that, i can't put button on xib with Interface Builder becouse i don't even know how many buttons i will have there. I don't know how many screens i've got till i hit run in my project.
Not only can you write any type of iOS app without Interface Builder, it is actually much more testable and pliable. Some auto layout tricks are difficult (not possible?) in IB style projects, as well.
There is an incredibly impressive library called Masonry that wraps the NSLayoutContraint syntax. This makes it quite pleasurable to subclass views while not having to use ugly VFL or incredibly verbose NSLayoutContraint syntax (not even going to address frame setting...blech!). IB style apps also promote bad software development practices and anti-patterns (just dumping everything in a view controller presentation-wise. No Separation of Concerns!). Also, it is more difficult to work on larger teams (IMHO even small teams) while utilizing Nibs, Xibs, and Storyboards due to merge issues.
On top of all of that, you gain a much deeper understanding of the classes you are working with (UIView, UIResponder, etc.) when writing code in this manner (once again IMHO). There is an interesting article outlining some of these issues in more detail: http://doing-it-wrong.mikeweller.com/2013/06/ios-app-architecture-and-tdd-1.html This is by no means the only article that discusses this problem. Also, this will help for your app delegate: creating a universal window-based iphone app without generated xib file
This is certainly possible, I have only used storyborads once in the many apps I have published. As for not using XIBs, I am not sure why you would want to do that. You can lay out your views at runtime in the init method, but I feel like that is just making things unduly hard on yourself. You can set a XIB up for the iPad and one for the iPhone so you can tailor the UI specifically to each device.
Perhaps if you go into a bit more detail about why you are imposing this requirement on yourself we can discuss if it si worth the effort to go down that road.
Good Luck.
I am relatively new to Objective-C / iPhone programming, and have only created single view applications thusfar. I am interested in creating an app soon than will have a "wireframe" in a sense that allows me navigate the various views of my app using buttons. So I guess my questions are:
What do I need to do to make an app that has more than one view
How to I link them with UIActions in buttons to navigate the various screens (ex a back button to go to a previous screen)
and I may have more as I go, but this is a start.
Thanks!
Since no one really had a clear helpful answer, I will share my own conclusion. Xcode 4 offers a very intuitive and interactive way to create multiple MVCs and segue between them even providing the interface to travel between views. I found out how to use this feature from Paul Haggarty's iOS course on iTunes U. I highly recommend it.
Joey
You'd can use a combination of, multiple UIViewController and or UINavigationController's. Utilizing methods such as presentModalViewController:animated: and pushViewController:.
I'm developing an app in IOS using Storyboard for the Ipad. I want to add UISplitViewController as a subview of my app. I want to generate this kind of output (see below image). when user click on FirstView's 'Next' button, a second view-splitview should appear.
Output:
But Apple's guidelines says that we can't push UISplitViewController as a subview of module. if we use a UISplitViewController, it has to be visible at all the times in our app.
so
when i tried to add any splitviewcontroller directly into the storyboard, it generated the error .
Split View Controllers cannot be pushed to a Navigation Controller
I dig around the net but unfortunately couldn't find any proper help.
is there any official alternative to use such a kind of facility by Apple itself?
or any link to the working code or samples to implement such a kind of functionality.
If i'm using third party solution, will my app get banned by Apple App store as they don't allow to do so?
I think this is a very basic kind of functionality which many people needs to implement in their app as a submodule. So there must be a inbuilt facility by apple. may b i don't know about it.
any help would be greatly appreciated.
This isn't an answer to your exact question, but may help in part.
I have an app that uses a UISplitViewController that is a subview of a UITabBarController.
This goes against Apple guidelines, but was desirable for my design that started originally as an iPhone app, and that I wanted to convert to a Universal app. I also wanted to maintain the UI convention of my app that the iPhone users were familiar with.
Unsurprisingly, there were problems with the notification of the orientation to the various UISplitViewControllers that weren't visible (though it would seem that Apple could support this if they chose to).
The workaround was to use the new API added in iOS 5.0,
splitViewController:shouldHideViewController:inOrientation:
...and always return NO. Not the ideal UI arrangement, but it works, and was accepted by Apple as an app update.
So, (clearly) you'll need to do this programmatically, rather than use Storyboards, but I think if you can get it working, Apple may approve. I wouldn't recommend you risk this if you can avoid it, however.
I am looking to integrate the ability to select images from the built in library into an iOS app.
UIImagePickerController seems like the obvious choice.
However, it only works as a modal view controller. For design reasons, the image selection in this app needs to be part of an UIViewController itself.
After some research on the web and searching the StackOverflow archives, it seems I will need to implement my own Image Picker from scratch using ALAssetsLibraryto access the images stored on the device. However this is quite a task (if done well).
Thus my questions are:
1) Is there already an existing library or class (or would someone be willing to share his/her existing code) for this purpose?
2) Alternatively, is there a way to extend the UIImagePickerController to add more interface elements to it?
For some of my own projects, I use the ELCImagePickerController, but this again is meant for modal presentation.
But since it's open source, you may be able to make modifications to allow it to be embedded in the way you want it to be presented.
I'm still fairly new to the iOS development scene, so I'm not totally sure where to look for open source controls, etc. The app I want to build will have multiple collections in it. I'd love to have a view where I can swipe up and down to browse between collections, and then swipe left and right to scroll though that particular collection -- all on one screen.
The app I've seen that basically resembles this is the "Popular" screen on the Mobli app for iOS.
I'd be grateful if anyone has seen something similar already built that I could base it on instead of trying to program a new view from scratch w/ my still limited knowledge.
The ScrollView sample project from apple does this, you might want to to take a look at it.
As for reusable components, those are few and far between. It's difficult to protect a XIB in an external library, and beginning developers tend to have trouble getting static libraries to work in their project anyway. Github is where I look for OSS code I can use.