我一直在寻找解决方案,但似乎无法找到适合我的解决方案。如何在iOS Objective C中为一个UIButton执行两个操作。
我的应用包含"登录用户"和"访客用户"。
#include "stdlib.h"
#include "crtdbg.h"
int main()
{
FILE *fStream = nullptr;
if (_tfopen_s(&fStream,_T("TestFTell.txt"), _T("rt,ccs=UTF-8")))
return 0;
TCHAR szBuffer1[256], szBuffer2[256];
for (;;)
{
auto pos = ftell(fStream);
_ASSERT(pos!=-1);
if (!_fgetts(szBuffer1, _countof(szBuffer1), fStream))
break;
auto retval1 = fseek(fStream,pos,SEEK_SET);
_ASSERT(retval1!=-1);
auto retval2 = _fgetts(szBuffer2, _countof(szBuffer2), fStream);
_ASSERT(retval2!=0);
_ASSERT(_tcscmp(szBuffer1, szBuffer2)==0);
}
return 0;
}
查询按钮,则导航至一个控制器。 UITableView
查询按钮导航到另一个控制器答案 0 :(得分:0)
在登录后,您将了解登录用户的类型。根据用户类型移至相应的controller
。你真的没有为同一个按钮设置多个动作。单击按钮时,检查登录的用户类型,即guest / login并推送到相应的控制器。
答案 1 :(得分:0)
例如。对于tableview单元格中的每个按钮,您可以在按钮上设置@selector()
。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
.
//do stuff
.
[cell.buttonSave addTarget:self action:@selector(btnSaveTap:) forControlEvents:UIControlEventTouchUpInside];
if ([user isequaltostring:login user])
cell.buttonSave.tag = <tagNumber>
else
cell.buttonSave.tag = <anothertagNumber>
//do stuff
return cell;
}
添加你可以像这样实现它的动作方法
- (void)btnSaveTap:(UIButton *)sender {
//here you can check tag number for desired action
if(sender.tag ==tagNumber) //
{
// Navigate to login user
}
else
{
// Navigate to Guest user
}
}
答案 2 :(得分:0)
您可以根据用户登录标记管理操作,而不是添加两个操作。
即如果用户是登录用户,那么isLogin标志将为true,否则它将为false。
为此您可以使用以下用户默认值。
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isLogin"];//here yes if normal user and no if guest user.
[[NSUserDefaults standardUserDefaults] synchronize];
在按钮单击中,您可以保留它。
- (void)btnclick:(UIButton *)sender {
//here you can check login flag
if([[NSUserDefaults standardUserDefaults] boolForKey:@"isLogin"]){
// Navigate to login user
}
else{
// Navigate to Guest user
}
}
答案 3 :(得分:0)
您可以尝试这样
- (IBAction)navigateToEnquire:(id)sender {
NSLog(@"Button pressed: %@", [sender currentTitle]);
if ([[sender currentTitle] isEqualToString: @"login user"]) {
// do something
} else if ([[sender currentTitle] isEqualToString: @"guest user"]) {
// do something
}
}