How to create compose bar button item like in Messages app - ios

The Messages app on iOS places two bar button items next to the large title text "Messages" in the master view controller with a circled style.
How do you make your own bar button items in the navigation bar have this same behavior?

I think this demo project should give you enough hints to help you.
Addendum: You may be already aware of this, but in case you specifically wanted a search bar as well, there is also a UISearchController ViewController to help with getting user input and populating a TableView with results.
Addendum: Looking into it further, there’s already an SO answer covering this. Additionally, consulting the API reference show that setToolbarItems already supports adding an array of UIBarButtonItem
As far as custom buttons are concerned, check out this reference, there’s a section on customizing appearance. Additionally, the constructor for UIBarButtonItem conveniently supports taking a UIImage as well. If what’s there is insufficient to accomplish what you need, you can always subclass UIBarButtonItem and change the views there.

Related

How to create paging with a menu at the top?

I'm trying to create something similar to the following:
You see the dates at the top just underneath the search bar? Is that a nested tab view as I'm guessing? Is there a way to do it with the default components or do I need to create a custom view?
I'm not looking for a coding answer per se. I just want to know if there's a standard way of achieving this before trying to implement my own solution.
EDIT:
For future reference I found a library that does exactly this.
Apple's documentation states :
The tab bar interface displays tabs at the bottom of the window for selecting between the different modes and for displaying the views for that mode. This class is generally used as-is, but may also be subclassed.
https://developer.apple.com/documentation/uikit/uitabbarcontroller
So I would guess that it is a custom solution.

Is it Possible to add a custom Navigation Bar for CNContactViewController?

I want to create a custom UINavigationBar for CNContactViewController in order to select single or multiple contact. The default UINavigationBar consists of Cancel,Done and Group button which makes it look quite messy. Is there a workaround to customize the UINavigationBar of the CNContactViewController?
Can Anyone answer this asap?
Your screenshot is CNContactPickerViewController, not CNContactViewController. But the answer is the same for both.
The Contacts view controllers each have a very specific purpose: choosing a contact, creating a contact, etc. They each have a navigation bar suited to that purpose — the contact pocket needs that Done button so the user can select a contact and return control to your app. And they're hosted out of process so that malicious apps can't dig inside to harvest contact info they're not supposed to.
Since it's out of process, you can't customize the navigation bar directly. Contacts would need to define an API for that, and it doesn't. Perhaps you should file a feature request for that? Then again, I'm not sure what the use case for removing any of those buttons is...

How can I get the default images used in navigation bar?

Because I want to implement some custom animations in navigation bar I decided to use a custom view instead.
I want it to look exactly like a normal navigation bar though - so I have to use the same back button and "add" image. I have normal navigation bars in other places of the app and there should be no noticeable difference.
Can I get these images somehow? If not in the system maybe somewhere in the web? Looking for this delivers me a ton of results about how to use custom images in the navigation bar, which is not what I need...
Edit: I don't want to have to instantiate a navigation bar and traverse the view hierarchy based on index etc as this is error prone. Well I could theoretically do this once for every resolution and save the imgs somewhere... but meh...
It's not possible to fetch this images from the OS.
However, there is plenty of PSDs on the internet that help designers create UI/UX designs and mockups. You can use one of them and extract images you need. Check this one or this one for example.

Making Customised UITabBarController

As simple as the question, I could't find a good answer to my question.
I want to make tab Bar items to be loaded from my NIB file, So I change it whenever I want.
I want my tab Bar to be something like that.
with my own custom fonts, alignment, as you can see there is no images it just Text only.
So any one can help here ?

UITableViewController with SearchBar

I have tried both ways below to place SearchBar on UITableView.
TabBarController > UITableViewController(Put SearchBar)
TabBarController > UIViewController > UITableViewController(Put SearchBar)
When I try the second way, then it doesn't work.
(SearchBar cannot show on UITableViewController)
Can anyone tell me what happend?
Here is my xcode project file:
http://www2.zshares.net/tg14vowqzvaw
the usual way to do this would be to put the saerch bar in the header-section of the uitableview its supposed to search. you can do this using the
-tableview: viewForHeaderInSection:
method from the UITableViewDelegate-Protocol. his works in both TableViewControllers and regular ViewControllers that just have a TableView on them. see the mail app on the iphone for an example of this.
if you really NEED the search bar to be outside of the tableview, then you will have to use a regular view controller and just place the search bar in a view above/under the tableView.
other than that, i dont know what to tell you. And what is a TabbedViewController? Do you mean TabBarController? What does that have to do with search bars? Im kinda lacking the time to go through your project, so if you rephrase the question, maybe i can give a better answer?
EDIT-----------------------------------------------------
tableviewcontrollers will do that to you. basically, they will allow ONE tableview to be inside them at a time. also, this tableview WILL ALWAYS fill out the entire space available. Now, there is an exception to this that you cam make use of: Elements like a NavigationBar or a TabBar are allowed alongside the tableview, since they are required for navigation. So if you can put your stuff in one of these, its entirely fine. This my seem counterintuitive, since when do i want just a naked tableview on my screen? the answer is: more often than not. Tableviews are HIGHLY customizable using the UITAbleVIewDelegate-Protocol specified here:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDelegate
Do yourself a favor and read that doc, i almost guarantee that you will save time in the long run.
For Example: You know the contacts app on your iphone? If you go into the details of one specific contact, you will find a pertty sophisiticated presentation of the data, that will even go into editing mode if you tap edit. It has a header, multiple segments, and a footer.
Surprise: ALL OF THAT is just a single tableview in a tableviewcontroller, customized via the protocol. Let me repeat: you are wasting your own time if you try to do it any other way. tableviewcontrollers exist for a reason. usem them

Resources