0

私はUIBarButtoアイテムを持っています。アプリを開いたときに正常に機能するログインと言う必要があり、ログインをクリックすると最初のクリックでメソッドが呼び出されませんが、もう一度クリックすると機能し、ビューが変更されて別のビューに移動したときにも機能しますログインして他のビューにいるため、BarButtonItem Logout のタイトルである必要があります。この問題を修正する方法については、再度ログインする必要はありません。次のコードを使用しています

ありがとう

    - (void) loginPressed
{
   if (loginCheck)
   {
     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];
        popImageView.hidden=NO;
        passwordLabel.hidden=NO;
        userLabel.hidden=NO;
        userNameTextField.hidden=NO;
        userPasswordTextField.hidden=NO;
        signInButton.hidden=NO;
        tableView.hidden=YES;
      }
     else
     {
       self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];
       popImageView.hidden=YES;
       passwordLabel.hidden=YES;
      userLabel.hidden=YES;
      userNameTextField.hidden=YES;
      serPasswordTextField.hidden=YES;
      signInButton.hidden=YES;
      tableView.hidden=NO;
   }

loginCheck = !loginCheck;
}


    - (void)viewWillAppear:(BOOL)animated
    {
     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];
    self.title=@"Activity";
    [super viewWillAppear:animated];
    }
4

1 に答える 1

0

コードにバグがあり、これを使用してみてください。このコードはテスト用であり、loginCheck = !loginCheck;と入力したのではなく、ログイン チェックを変更する必要があると想定しています。以下のコードに従ってください。このコードの問題を修正します

- (void) loginPressed
{

if (loginCheck)
{

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];

    popImageView.hidden=NO;
    passwordLabel.hidden=NO;
    userLabel.hidden=NO;
    userNameTextField.hidden=NO;
    userPasswordTextField.hidden=NO;
    signInButton.hidden=NO;

    tableView.hidden=YES;
} else {

   self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];


 popImageView.hidden=YES;
 passwordLabel.hidden=YES;
 userLabel.hidden=YES;
 userNameTextField.hidden=YES;
 userPasswordTextField.hidden=YES;
 signInButton.hidden=YES;
 tableView.hidden=NO;

}

loginCheck = !loginCheck;     
}                                                                                             


- (void)viewWillAppear:(BOOL)animated
{


    if (loginCheck)
    {
      self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];
    } else {
      self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Log out" style:UIBarButtonItemStyleBordered target:self action:@selector(loginPressed)];
    }

    self.title=@"Activity";


    [super viewWillAppear:animated];
 }
于 2013-06-24T07:48:29.977 に答える