5つのタブバーアイテムがあります。最初のものはログインページになります。ユーザーが他のタブバットアイテムにログオンしていない場合は無効になりますが、ユーザーがnavigationItemボタンをクリックしてログオンすると、他の4つのタブバットアイテムはすべて有効になります。
検索しても何も見つかりませんでした...:(
これが私のコードです:
MainTabViewController.h
#import <UIKit/UIKit.h>
@interface MainTabViewController : UITabBarController
@property (retain, nonatomic) IBOutlet UITabBar *MainTabBar;
@end
MainTabViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UITabBarItem *tabBarItem = [[MainTabBar items] objectAtIndex:1];
[tabBarItem setEnabled:FALSE];
}
LoginViewController.h
#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController
@property (retain, nonatomic) IBOutlet UITextField *CustomerUsername;
@property (retain, nonatomic) IBOutlet UITextField *CustomerPassword;
- (IBAction)ResignKeyboardClicked:(id)sender;
@end
LoginViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIBarButtonItem *btnGo = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(loginAction)];
self.navigationItem.rightBarButtonItem = btnGo;
}
- (void) LoginAction {
AppDelegate *passData = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if ([CustomerUsername.text isEqualToString:@""] || [CustomerPassword.text isEqualToString:@""]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert" message:@"Please Fill all the field" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
return;
}
// i will use a code from connect to DB tutorial
NSString *strURL = [NSString stringWithFormat:@"http://localhost:8888/Staff.php?userName=%@&password=%@",CustomerUsername.text, CustomerPassword.text];
// to execute php code
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
// to receive the returend value
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
if ([strResult isEqualToString:@"1"])
{
//MainTabViewController *main = [[MainTabViewController alloc] initWithNibName:nil bundle:nil];
//UITabBarItem *tabBarItem = [[main.MainTabBar items] objectAtIndex:1];
//[tabBarItem setEnabled:TRUE];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"You are now Logged In" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
return;
}
else
{
// invalid information
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert" message:@"Invalide Information" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
return;
}
}
今のところ、私のコードは他の4つのタブバーアイテムのみを無効にしますが、ユーザーがログインしているときにすべてのタブバットアイテムを有効にする方法がわかりません。
助けてください?
ありがとう!:D