0

我有两个导航按钮(左和右)和两个类别按钮(例如 loveCategory 和 otherCategory)。当我选择 loveCategory 时,我希望我的导航按钮仅从 loveCategory 显示(在我的情况下为图像),当我按下 otherCategory 时,导航按钮应该能够仅从 otherCategory 显示(图像)(即当我按下左右按钮时) )。

如果不清楚,请告诉我。

这是我的代码:

-(IBAction)NavigationBtnTapped:(UIButton*)sender {
UIButton *button=sender;
switch (button.tag) {
    case 1:
        //statements
        break;
    case 2:
        //statements
        break;
    default:
        break;
}

}

-(IBAction)loveCategory {
}
-(IBAction)otherCategory {
}

我如何在另一个动作中调用一个动作

-(IBAction)loveCategory 
{ 
  -(IBAction)NavigationBtnTapped:(id)sender
{
// Is it possible to call an action within another action?
}
}
4

5 回答 5

1

将标签 1 和 2 分配给您的按钮并尝试以下操作:

    -(IBAction)NavigationBtnTapped:(id)sender {

    switch ([sender tag]) {
        case 1:
            //statements
            break;
        case 2:
            //statements
            break;
        default:
            break;
    }

}
于 2013-03-21T12:21:08.220 回答
0

您可以通过设置标志来执行此操作,最后选择哪个类别

int selectedCategory = 0;

-(IBAction)NavigationBtnTapped:(UIButton*)sender {
UIButton *button=sender;
switch (button.tag) {
    case 1:
        //statements
        if(selectedCategory == 0){
           // go left for lovecategory 
        }else{
          // go left for OtherCategory 
        }
        break;
    case 2:
        //statements
       if(selectedCategory == 0){
            // go right for lovecategory 
       }else{
           // go right for OtherCategory 
       }
        break;
    default:
        break;
}

}

-(IBAction)loveCategory {
  selectedCategory = 0;
}
-(IBAction)otherCategory {
   selectedCategory=1;
}

那是你要的吗 ?

在另一个动作中调用动作

-(IBAction)loveCategory 
{ 
  [self NavigationBtnTapped:null];
}
-(IBAction)NavigationBtnTapped:(id)sender
{
// Is it possible to call an action within another action?
}
于 2013-03-21T12:54:26.917 回答
0

找到了答案!

在头文件中

BOOL isLove,isOther;

在实现文件中

- (void)viewDidLoad
{
    isOther=TRUE;
    isLove=FALSE;
}

-(IBAction)NavigationBtnTapped:(UIButton*)sender {
if (isLove) {
// Statement
}
else
{
//statement
}

如有必要,使用“else if”来检查多个按钮。

于 2013-03-22T05:24:31.563 回答
0

另一种方法是拥有 2 个 UIButtons 和两个 UIImages 但这不是这样做的好方法:D

一开始loveCategory的按钮隐藏=NO,图片隐藏=YES,otherCategory的按钮=YES,图片隐藏=NO。

当您单击 loveCategory 的按钮时,loveCategory 的按钮 hidden = YES 并且其图像 hidden = NO 并且对于 otherCategory 的按钮 hidden = NO 和 image hidden = YES

于 2013-03-21T13:31:50.227 回答
0

另一种方法是......

给两者的标签UIButton

像这样

button1.tag = 101;
button2.tag = 102;

两者UIButton都有相同的方法调用。
诸如此类,

-(void)buttonTapped:(UIButton *)sender
{
   if(sender.tag == 101)
   {
     // code for loveCategory
   }
   if(sender.tag == 102)
   {
     // code for otherCategory
   }
}
于 2013-03-21T12:21:30.347 回答