我是iOS新手,我正在關注this tutorial。無法連接IBAction查看
下面是我試圖將IBAction連接到我的視圖的屏幕截圖。
我想在每次觸摸視圖(即關閉鍵盤)時執行方法releaseKeyboard
。
我不使用故事板。
我的文件:
- challAppDelegate.h
- challAppDelegate.m
- challViewController.h
- challViewController.m
- challViewController.xib
challAppDelegate.h
#import <UIKit/UIKit.h>
@interface challAppDelegate : UIResponder <UIApplicationDelegate>
{
UINavigationController *navigationController;
}
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navigationController;
@end
challAppDelegate.m
#import "challAppDelegate.h"
#import "challViewController.h"
@implementation challAppDelegate
@synthesize window = _window;
@synthesize navigationController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *rootController =
[[challViewController alloc]
initWithNibName:@"challViewController" bundle:nil];
navigationController = [[UINavigationController alloc]
initWithRootViewController:rootController];
self.window = [[UIWindow alloc]
initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
...
...
challViewController.h
#import <UIKit/UIKit.h>
@interface challViewController : UIViewController
@property(nonatomic, retain) IBOutlet UITextField *signInEmailAddress;
@property(nonatomic, retain) IBOutlet UITextField *signInPassword;
@property(nonatomic, retain) IBOutlet UIButton *signInSignInButton;
@property(nonatomic, retain) IBOutlet UIButton *signInRegisterButton;
-(void) releaseKeyboardAction;
-(IBAction) signInAction:(int)sender;
-(IBAction) registerAction:(int)sender;
-(IBAction) releaseKeyboard:(id)sender;
@end
challViewController.m
#import "challViewController.h"
@interface challViewController()
@end
@implementation challViewController
@synthesize signInEmailAddress; // cria os getters e setters
@synthesize signInPassword; // cria os getters e setters
@synthesize signInSignInButton; // cria os getters e setters
@synthesize signInRegisterButton; // cria os getters e setters
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.title = @"Sign In";
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)releaseKeyboardAction
{
[signInEmailAddress resignFirstResponder];
[signInPassword resignFirstResponder];
}
- (IBAction)releaseKeyboard:(id)sender
{
[self releaseKeyboardAction];
}
- (IBAction)registerAction:(int)sender
{
//
}
- (IBAction)signInAction:(int)sender
{
//
}
@end
我做錯了什麼?
感謝
您無法將「IBAction」作爲IBOutlet連接到您的視圖。你想對視圖和'releaseKeyboard:'方法做什麼? – Rich
在按下視圖中的任何位置時釋放鍵盤(因爲鍵盤沒有退出按鈕)。我沒有將IBActions連接到textFields和按鈕。 –
有一個「完成」按鈕 - 當你在鍵盤上按下這個按鈕時,你想讓鍵盤消失嗎? – Rich