Have an AppDelegate and a MainViewController.
In MainViewController the UIButton was created, AppDelegate sets a background image and should show it on MainViewController. That’s pretty much it but I can’t see the UIButton.
Just for alignment purpose I created an IBOutlet and connected the button in IB.
MainViewController.h
@property (strong, nonatomic) IBOutlet UIButton *searchBtn;
MainViewController.m
@synthesize searchBtn;
AppDelegate.m
@synthesize mainVC;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ViewController > setup:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.mainVC = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
self.window.rootViewController = self.mainVC;
self.window.backgroundColor = [UIColor whiteColor];
// Buttons > Set background images:
[self.mainVC.searchBtn setImage:[UIImage imageNamed:@"search.png"] forState:UIControlStateNormal];
[self.mainVC.view addSubview:self.mainVC.searchBtn];
[self.window makeKeyAndVisible];
return YES;
}
First you don’t need
IBOutletif you are creating it programmatically.Second you probably want to move the creation of the button in
viewDidLoadof your view controller rather than in yourAppDelegate. It’s your view controller’s business.Third you should probably
alloc inityour button if you create it programmatically:something like that.