IOS中的左侧菜单栏

时间:2017-05-02 06:55:27

标签: ios objective-c xcode

Screenshot of code that how to move to different screens through segue identifier

我从GitHub上的现有项目导入了一些文件,并在左侧菜单栏中显示了以下项目:Home,About Us和Login。

当用户使用“登录”菜单栏项登录时,我希望“登录”项目的标题更改为“注销”。用户应保持登录状态,直到用户按下“注销”。当用户注销时,项目的标题应更改回“登录”。

注意:左侧菜单栏中的项目是静态单元格。

2 个答案:

答案 0 :(得分:0)

将您的登录信息status(flag)保存在NSUSerDefaults中。登录后再保存其他否。通过检查该标志,相应地在cellForRowAtIndexPath设置标题中。并相应地管理行动(登录或注销过程)!

答案 1 :(得分:0)

目标-C

1)首先保存登录状态,如下所示

[[NSUserDefaults standardUserDefaults] setBool:true forKey:@"isLoggedIn"];

2)在indexPath的cellForRow中编写此代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (indexPath.row == YOUR TABLE CELL) {
        if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isLoggedIn"]) {
         cell.lblMenuTitle.text = @"Log out";
        } else {
         cell.lblMenuTitle.text = @"Log In";
       }
     }
      [return cell];
    }

3)在tableView的DidSelect方法中编写此代码

  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

            if (indexPath.row == YOUR TABLE CELL) {
                if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isLoggedIn"]) {
                     [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"isLoggedIn"];
                } else {
                     [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"isLoggedIn"];
                }
                [tableView reloadData];
            }
        }

4)最后在左侧菜单类中,在viewWillAppear中添加代码

 -(void)viewWillAppear:(BOOL)animated
 {
   [tableView reloadData];
 }