私は5つのタブバー項目を持っています。最初のものはログインページになります。ユーザーが他のタブにログオンしていないときは、バットアイテムは無効になりますが、navigationItemボタンをクリックしてログオンすると、他の4つのタブバットアイテムが有効になります。私が作ったボタンでタブバーの項目を有効または無効にするには、xcodeをクリックしますか?
を検索し、何も見つからなかった... :(
ここに私のコードです:今、私のコードの場合
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
私はこの1つのようなので、良い答えを与える誰も見たことがありません!私は1つupvoteを与えることができます申し訳ありません! –
ありがとう@GabrielMolter!私は一瞬blushed;) – RonzyFonzy
タブバーのアイコンは、有効な状態に基づいて外観が変わるのですか?もしそうなら、スクリーンをつけてください! – fatuhoku