如何添加从应用程序中记录用户的功能,以导航栏右侧的按钮形式。这里有一个导航按钮,导航回到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];
}
答案 0 :(得分:2)
1)要以编程方式在NavBar上添加按钮,您可以使用以下代码
UIBarButtonItem* rightNavButton=[[UIBarButtonItem alloc] initWithTitle:@"logout" style:UIBarButtonItemStyleBordered target:self action:@selector(logout:)];
self.navigationItem.rightBarButtonItem =rightNavButton ;
OR
2)如果使用“界面”构建器,则可以将栏按钮项拖动到导航栏的右侧。
答案 1 :(得分:1)
这很容易。在IB(Interface Builder)中,调出右侧的Utilities区域,然后向上拖动底部托盘以显示UI对象列表。如果尚未选择小立方体符号(UI对象),请选择它。在底部的搜索框中键入“uibarbuttonitem”,然后查找匹配项。将UIBarButtonItem从搜索结果拖到视图控制器导航栏的右侧。当你到达正确的位置时,它应该点亮。释放它,系统将向导航栏添加一个新的导航项(实际上是当前视图控制器的导航项)。
添加了条形按钮项后,可以使用属性检查器设置其样式和标题,并使用连接检查器将其链接到视图控制器中的相应IBAction。应该这样做。
也可以通过编程方式创建一个条形按钮项目,并在运行时添加它,但这需要更多的工作,并且更难以找出所有设置。大多数时候,最好从IB做到这一点。