如何在导航栏的右侧显示注销按钮以从应用程序注销?

时间:2014-01-13 16:12:39

标签: ios

如何添加从应用程序中记录用户的功能,以导航栏右侧的按钮形式。这里有一个导航按钮,导航回到bar左侧的上一个视图。导航栏上有两个按钮?如果问题很愚蠢,请原谅我。

登录viewcontroller的代码如下所示:

- (IBAction)btnLogin:(id)sender
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *path = [docsPath stringByAppendingPathComponent:@"contacts.db"];
FMDatabase *database = [FMDatabase databaseWithPath:path];

if ([txtUser.text length] == 0 || [txtPass.text length]== 0){
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:@"Kindly enter details in all fields" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alert show];
}

[database open];

BOOL success = NO;

    NSInteger count = [database intForQuery:@"select count(*) from RegMembers where USERNAME = ? and PASSWORD = ?", txtUser.text, txtPass.text];


if (count > 0)
{
        success = YES;
   appDelegate.username = txtUser.text;

        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Welcome" message:@"Login successful" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];

        carTypeViewController *car = [[carTypeViewController alloc]initWithNibName:@"carTypeViewController" bundle:nil];
        [self.navigationController pushViewController:car animated:YES];

}
    else
    {
        UIAlertView *alert1 = [[UIAlertView alloc]initWithTitle:@"Kindly enter the correct credentials" message:@"Entered username or password is incorrect" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert1 show];

        txtUser.text=@"";
        txtPass.text=@"";
    }
[database close];
}

2 个答案:

答案 0 :(得分:2)

1)要以编程方式在NavBar上添加按钮,您可以使用以下代码

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

OR

2)如果使用“界面”构建器,则可以将栏按钮项拖动到导航栏的右侧。

enter image description here

答案 1 :(得分:1)

这很容易。在IB(Interface Builder)中,调出右侧的Utilities区域,然后向上拖动底部托盘以显示UI对象列表。如果尚未选择小立方体符号(UI对象),请选择它。在底部的搜索框中键入“uibarbuttonitem”,然后查找匹配项。将UIBarButtonItem从搜索结果拖到视图控制器导航栏的右侧。当你到达正确的位置时,它应该点亮。释放它,系统将向导航栏添加一个新的导航项(实际上是当前视图控制器的导航项)。

添加了条形按钮项后,可以使用属性检查器设置其样式和标题,并使用连接检查器将其链接到视图控制器中的相应IBAction。应该这样做。

也可以通过编程方式创建一个条形按钮项目,并在运行时添加它,但这需要更多的工作,并且更难以找出所有设置。大多数时候,最好从IB做到这一点。