supermonkey
supermonkey

Reputation: 21

IBOutlets not showing

I created three IBOutlets in a .h but when I go to Interface Builder and go to Referencing Outlets or right click on the object that I want to connect to one of the outlets. It just doesn't display the outlets I made. How do I find and connect the images in IB to these. My goal is to make custom buttons, I have the images out in IB and have set the highlighted state. And I want the images to auto switch to the highlighted state when touchupInside is triggered.

#import <UIKit/UIKit.h>


@interface FirstViewController : UIViewController {
    IBOutlet UIButton *brown
    IBOutlet UIButton *red
    IBOutlet UIButton *blue


}

-(void)brownPressed
-(void)redPressed
-(void)bluePressed
@end

Upvotes: 0

Views: 3148

Answers (3)

kraftydevil
kraftydevil

Reputation: 5246

This answer is in reference to Xcode 4

If you changed the name of the .xib manually, don't forget to check these IB setting in the right pane:

Identity and Type: File Name should be:

newName.xib

Custom Class : Class should be:

newName

...

I was also experiencing this problem - after changing the .xib filename manually. I have no idea why renaming by refactoring was grayed out but that was my first attempted solution to rename. I then made some IBOutlets, but dragging to the File's Owner didn't give me any options to connect to it.

I right clicked on File's Owner and noticed some warnings telling me there was no IBOutlet by the name of the variable it tried to reference.

Basically, since I changed the .xib filename manually, at least one of the above configurations did not automatically follow (makes sense since I did a manual operation).

Upvotes: 2

NSGod
NSGod

Reputation: 22948

If the code you posted is accurate, you are missing 6 semicolons. Interface Builder won't be able to properly parse the header file without them and so it won't show any IBOutlets.

Try changing the code to the following:

@interface FirstViewController : UIViewController {
    IBOutlet UIButton *brown;
    IBOutlet UIButton *red;
    IBOutlet UIButton *blue;

}

-(void)brownPressed;
-(void)redPressed;
-(void)bluePressed;
@end

Upvotes: 2

user722566
user722566

Reputation: 203

This happens to me try connecting the touch up inside connection of the button to files owner and then it will show up

Upvotes: 0

Related Questions