Showing Dialog from Xib file - macos

I have a simple task.
There is a xib file named "Preferences.xib"
It contains Window named "Preferences Window", that contains some checkboxes, OK and Cancel.
I need to load this window within my code, and get Ok/Cancel results knowing what checkboxes were checked.
Can someone help me with example or send me to relevant link?
Thanks!

In AppDelegate.h
#interface AppDelegate : NSObject <NSApplicationDelegate>
#property (assign) IBOutlet NSWindow *window;
- (IBAction)showPref:(id)sender;
#property(strong)NSWindowController *windowController;
#property(strong)IBOutlet NSWindow *prefWindow;//hooked to the window of Preferences.XIB
#end
In AppDelegate.m
- (IBAction)showPref:(id)sender {
self.windowController=[[NSWindowController alloc]initWithWindowNibName:#"Preferences"];
self.prefWindow=self.windowController.window;
[self.prefWindow makeKeyAndOrderFront:self];
}
Find sample code here.

Related

Subclassing NSTextField to forward first responder can't find destination responder?

I'm subclassing NSTextField in order to have it make another field be first responder instead of itself. I had the field set to refuse first responder but then the window gets it and the user has to find the proper field intuitively, and that could lead to confusion.
My sub-class code contains this:
#import "MyTextField.h"
#import "MyController.h" //which declares: #property (assign) IBOutlet NSWindow *window;
#implementation MyTextField
- (BOOL) becomeFirstResponder
{
[_window makeFirstResponder:otherField];
return NO;
}
#end
The problem is Xcode doesn't find 'otherField' which is defined in my .xib, Xcode says it's 'undeclared' here.
Someday I will have the time to convert the project to Swift, and I will be less of a beginner, but please bear with my ignorance. Please help! How do I make 'otherField' findable in the sub-class code?

How to get value of textfield in AppDelegate in Xcode

I have 2 textfields in a view. I want to read value of this fields in AppDelagate.m.
It is very strange that does not work me all methods.
I posted my code here:
in First View
#property (nonatomic, retain) IBOutlet UITextField *Usernametxtbx;
#property (nonatomic, retain) IBOutlet UITextField *Passwordtxtbx;
Can you help me?
Its very odd that you need to read the values of outlets in an AppDelegate. AppDelegate is to handle your app delegate methods such as when your app launches or when your app is supposed to enter background. In didFinishLaunchingWithOptions, the outlets will be nil. You should be doing these tasks in viewDidLoad.

UITextView not editable

I am very confused by the following - I realise a difficult question to answer but ...
I have a number of UITextViews all set up in exactly the same way. Other than their name and position on the screen they are all identical. All settings are exactly the same in the File Inspector. They are established in the same way:
#property (weak, nonatomic) IBOutlet UITextView *timeStamps;
#property (weak, nonatomic) IBOutlet UITextView *slider1Comments;
When a button is pressed they are activated.
timeStamps.editable=YES;
[timeStamps setUserInteractionEnabled:YES];
slider1Comments.editable=YES;
[slider1Comments setUserInteractionEnabled:YES];
However, when I press the button I am not able to enter anything into timeStamps while I can in slider1Comments.
I have just upgraded to Xcode 5 and noticed a number of changes - maybe it is related. Any ideas?
try doing this
uncheck the "editable" and "user interaction enabled" for both the uitext views and set the delegates for both textviews in interface builder
hope it helps..

Xcode UIImageView won't link to the code

I have a problem:
I need to insert a UIImageView into my application that changes images each time. The code I have written is correct, but the UIImageView box I dragged on my view in storyboard won't link to the code. I drag the blue line on the codes but it just does not link.
#property (nonatomic, retain) IBOutlet UIImageView *image1
Can you help me????
Two possible things:
are you also adding it in your #Interface in the .h file? like below:
#interface FirstViewController : UIViewController {
IBOutlet UIImageView *image1;
}
Also, after you do this make sure you are linking your UIImage View to your files owner in the .xib file. control drag from "File's Owner" right into the image view.
I don't have a ton of iOS experience, but these are two pretty common problems.
h file
#property (nonatomic, retain) IBOutlet UIImageView *image1
m file
#synthesize image1;
Link should show up.

Cocoa's WebView does not load a URL upon loading the app

I'm making a simple app, to load up a single URL, I have the following code
webberAppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
#interface webberAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
WebView *webber;
}
#property (assign) IBOutlet NSWindow *window;
#property (assign) IBOutlet WebView *webber;
#end
webberAppDelegate.m
#import "webberAppDelegate.h"
#implementation webberAppDelegate
#synthesize window;
#synthesize webber;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSString *urlString = #"http://www.apple.com";
// Insert code here to initialize your application
[[webber mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];
}
#end
What do I have to do in Interface builder? I've added the Web View, do I need to link it in any way?
Thing is I added simple text field(and linked it to the web view) and it loads the URL just fine when I enter it there, however it doesn't with this code, any ideas?
In your XIB file, you should have an App Delegate object (and some other things).
Right-clicking it should bring up a HUD list, where you'll see each of your outlets (and, again, some other things).Find the webber outlet, and click the circle to its right. Then drag to your WebView.
What you've just done is linked your properties to your XIB objects. Skip this step, and your App Delegate won't know what webber is referring to.
Also, note that in order to populate that HUD list, your properties need to be specifically tagged with IBOutlet.

Resources