how can i add button in cell to open link - xcode

I want to make a button in cell that will open URL.
I try to make it as always, but it doesn't work.
I have custom cell with it .h/.m files and the tableView inside UIViewController. Where I have put code? and will this code work?
- (IBAction)site:(id)sender {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"http://www.vk.com"]];
}

Now you just have to connect the button target to this IBAction.
Go to Interface Builter, right click the files owner or app delegate, depends on how you have set it up. Then you should see the site IBAction, just drag it to the button and it should work.
Just add the code to the current view controller.

Related

Custom callout View with xip

I'm trying to set a custom callout view with a xib I created however it doesn't show up.
When I tap in a pin the app is crashing and show the follow error
It's anyone that can help me?
You can find the code here.
https://github.com/andreasvas/xcode
In interface builder for your CalloutView.xib;
Make sure File's Owner is blank (NSObject). And don't forget to remove outlet references.
CalloutViewController is a UIView subclass, So set it for the top most UIView, not the `File's Owner'. And don't forget to re-hook your outlets.

How to remove a navigation controller in storyboard?

I am following a simple swift tutorial that shows how to add a navigation controller to a viewcontroller in storyboards in xcode. This is done using Editor > Embed in > Navigation Controller
The problem is, once the navigation controller is embedded, it cannot be removed. The 'unembed' option is always greyed out. Removing the controller view from the storyboard results in an error. Even if the arrow indicating the first view is pointing to a simple empty view in exactly the same way as when you're starting a new project.
I would expect that there is still some code from the Navigation Controller lingering around somewhere, but how to pinpoint it?
I follow this step.
1) select navigation controller and delete connection.
2) make root view to your view controller
No...there is no source code, don't worry.
If your changes are hot then just Control-Z if not select navigation controller and press delete button.
"unembed" function is for unembedding the "stack" in stackView and not for "navigation controller" nor "tab bar controller"

Connecting code to UI in storyboard with multiple ViewControllers, Xcode

I have a storyboard project in Xcode. I have added an additional ViewController and dropped in a button, text box, etc. I can get from the initial to the secondary View Controller, but I cannot seem to be able to connect the button to the code. I've tried adding additional classes with XIBs and even from a blank adding in the XIBs. How do I connect the code I have written for a button to do work on the second View Controller?
If you have the button created on the storyboard. You have to make an
-(IBAction)clickButton...
in the .h and .m code files. You can easily connect the code to the button by dragging the line from the dot (in front of the code name) to the button.
If you have created the Button fully in code. You have to specify which code to be executed on click.
[self.buttonName addTarget:self action:#selector(clickButton:) forControlEvents:UIControlEventTouchUpInside];
Here's the answer. You add new files to your project, and just for giggles, we'll call them NewViewController of the UIViewController class. Then, highlight the second view controller in the storyboard, choose identity inspector, and under Custom Class (at the top) you change the class to the name of the recently added NewViewController class. Now, all your code will connect to objects and so on. Thanks again for the help all and now I can rest in peace lol.

can ttnavigator render a xib view in objective c?

I have followed the three20 ttnavigator example in order to make my own app, but I have seen than the view is created in controller, but I would like to make my view in a xib file and then render it from controller when openURLAction is fired, how is it posible?, thanks
I used to overwrite the initWithNibName to make my view in a xib file, navigator openURLAction is ok.

Binding to NSCollectionViewItem crashes Xcode

Using XCode 4.1 I've come across a crash whenever I try to use a CollectionView.
These are the steps I'm doing:
From a new project, edit the MainMenu.nib file.
Add an NSCollectionView to the window, which also adds a Collection View
Item, and a new View In the new View
Add a control like an NSTextField
Select the control, and switch the inspector to the binding pane.
Attempt to bind something to the Collection View Item.
Once the Collection View Item is selected in the dropdown menu, an
"Internal Error" dialog appears. Attempting to continue from this dialog makes the
binding pane disappear until you restart XCode
Does this happen for anyone else or is it just something I'm coming across?
Is there a way to work around it to allow me to bind to the Collection View Item (I want ultimately to bind to the representedObject value) either in XCode or in code.
I attempted to create a custom NSCollectionViewItem subclass that uses a separate nib file and set that as the itemPrototype of the NSCollectionView but things went very wrong then.
I found that splitting the collection view item view into its own XIB and then rewiring the connections so that the collection view item prototype loads the new XIB will allow for you to create the bindings in interface builder without it crashing. I followed these steps...
Delete the collection view item view from the default xib.
Create a new view and XIB inheriting from NSCollectionViewItem.
Create your collection view item in the new view.
Bind the fields to the files owner of the new view.
Back in the collection view xib, update the properties of collection view item to load the bin name of the new xib.
I'm not sure that it's quicker than doing it programmatically, but it does allow you to manage the bindings without writing code. I've got a few apps working this way now.
I've found a temporary work around:
Select the "Collection View Item" and under the "Attributes Inspector" → "View Controller" settings, set "Nib Name" to "MainMenu".
Once you've done this, it won't crash, and you can set the bindings. Be sure to clear the "Nib Name" setting when building your app.
Yup, I can confirm this bug too, even on Interface Builder 3.
The only workaround is to do the binding programmatically:
[textField bind:#"value" toObject:collectionViewItem withKeyPath:#"representedObject.foo" options:nil];

Resources