Customising UITableView - iphone

I'm playing with Xcode/Interface Builder and I'm able to build simple Navigation apps. I'm wondering how the guys at TapBots manage to get their table views themed like this:
http://tapbots.com/img/software/convertbot/screenshot_05.jpg
(http://tapbots.com/software/convertbot/#gallery)
I've tried setting backgrounds on tables, but I lose the rounded corners.
Is this an easy thing to achieve?

The Tapbots developer spent around 6 months writing a customised UI library, which is what you see there.
It's basically a reimplementation of UIKit with personalised styling.

Related

xCode, Swift: working with vs. working without storyboard

I'm new to programming apps, trying to realize a project for iOs using xCode and swift.
As far as I've learned most people seem to work with the storyboard feature, but I've come across people that suggest to deactivate the storyboard and work with code only.
I'd like to know your opinion on what method fits my needs best for the intended project. As I am just getting started, I'd like to stick with the appropriate method right away for I'm probably going to invest a lot of time.
This is about what the app is going to look like:
myApp Layout
Now this is what it' basically supposed to do:
The "settings"-button (blue area, top left) is going to take you to a different view to set preferences. The "search"-button (blue area, top right) is going to change the title into a search field.
You can browse through 3 categories. Each of them contains a couple of questions. Those are stored in a database and are supposed to be displayed list style within the red area. The order of the questions is going to depend on the users preferences.
Clicking any of the questions is going to take you to another view that displays the answer. When viewing the answer the "settings"-button (blue area, top left) is changing to a "go back"-button.
Now as far as I've learned the blue area might be realized with a navigation controller, navigation bar.
The white section works pretty much like a toolbar. However I've read it's close to impossible to move the standard toolbar from the bottom to the top.
I've seen tutorials of people realizing this type of layout with (to me) complex code but without using the storyboard. Am I wasting time on figuring out how to manipulate storyboard objects? Coming from coding and programming websites the project looks so unbelievably simple. Is a project like this in fact rather complex to do as an app?
In any big project you will have to use all approaches, it is all about experience. For example, I am using StoryBoards to make 95% of my UIViewControllers elements, using XIB for static screens like error messages, some loadings etc. and using code to append some gradient views, shadows etc. It is possible that in future I will be doing all in a different way. But if you are a beginner - better use Storyboard, it makes getting into all of it much easier, understanding UIKit and iOS development overall.

How is styling of the UI for an IOS Apps done?

So with websites on the web we use HTML, CSS and Javascript.
What do we actually use to build the UI for an IOS App?
Is there a CSS/HTML/JS equivalent use for building IOS Apps?
What is the most common way use to design, style the UI of an IOS App?
The reason I ask is because I'm spending longer than expected learning core graphics and would like to move on with the book I'm studying from. I was under the impression core graphics was used for styling of apps and it was like an IOS equivalent of CSS.
Hoping someone could help clear things up thanks.
Regards
In many cases, images are used for styling in iOS.
For simple things like just changing background and text colors, UIView and its subclasses have direct accessors.
For most things, you won't need core graphics just for styling purposes. It would be easier to help you if we knew more concretely what you want to achieve, though.
The closest thing to a CSS equivalent is appearance proxies, which allow you to specify things like "all instances of UITextField should look have this font, colors and shadow when contained inside a NavigationController". You can override this for specific instances by just setting the desired values on the instance.

iOS Alternative Look and Feel

When I was first learning Java, the JGoodies Look 'n' Feel seemed great, and the same thing is available for WPF in the form of WPF Themes and WPF Futures. Are the any such libraries for iOS with which I can skin my app? I seem to get iOS screenshots with anything I search for, but I'm looking for things like UITableView header backgrounds or tab bar backgrounds. Apps always seem more professional when they have nicer, custom control backgrounds.
A lot of developers create their own custom table cell interfaces in Interface Builder and load those as the cells for a Table View. This gives you many options and is fairly straightforward, and you can get something much more interesting than the stock table view appearances.

Objective-C: Custom UI elements

I am a noob just getting started with Obj-C and iPhone development. I've been going through many examples and tutorials for the past 2 weeks and making good progress learning how to use the CoreLocation, CoreGraphics, MapKit, UI, etc. Very basic and straight-forward. There are many tutorials out there on these subjects.
However, now with that functionality in the bag, I am starting on putting my our project together. Our UI designer has created custom views of many iPhone controls like the UIToolbar, UIActionsheet, etc. Like having custom images for backgrounds and buttons. I cannot find any solid tutorials or advice on how to go about customizing things like the tab bar. For example, some say to create a Category overriding the drawRect method. Others say to subclass the UIToolbar class, but this say this is not recommended and may get appStore rejected. At this point I am confused and frustrated at which direction to start. Can someone with experienced with UI customization and app store approval please give me some direction or point me to some good tutorials? Thank you.
I would suggest that you can customise what Apple allow you to easily do with the available APIs and follow Apple's advice to not override drawrect. Oh and watch some of this years ADC videos.
Of course the coming ios5 will greatly increase your uikit customisation possibilities for ios5 devices.

Customize UI with UIWebView vs Subclassing

I need to create a custom button, custom label, custom tableview, and custom datepicker, but it seems harder to subclass the button/label/table/datepicker than to create a HTML string inside a UIWebView and customize it there... My application would be full Objective-c except these 4 controls.
What does Apple say about customizing a control using UIWebview. Is it frowned upon?
What are pro & cons for these 2 approaches?
Should I take a quick HTML, but it feels like I'm cheating, or take a long process to subclass these controls? More importantly, will Apple approve my apps with controls that's using UIWebView?
Thanks.
I'm sure Apple would approve an app with HTML controls, but I'd strongly advise you do it right and subclass the controls you wish to customise (or create your own from scratch). In my experience, native controls are leaps and bounds above what you can achieve with HTML and CSS, and it'll be worth it in the long run.
Besides, UILabels, UIButtons, and UITableViews are actually quite easy to customise; you may have some difficulty with the UIDatePicker but it's still possible to make it your own.
Ok, just in case somebody is having the same problem as me, I finally found another easy way to "customize" the view without going into so much trouble subclassing it..
It's : Use an image to be used as the view background. Then you can place the controls in the placeholder in the image. And set the controls as transparent...