0

2 つのナビゲーション ボタン (左右) と 2 つのカテゴリ ボタン (例: 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

そのための別の方法は、2つのUIButtonと2つのUIImageを使用することですが、これを行うには適切な方法ではありません:D

最初は、loveCategoryのボタンが非表示= NOであり、画像が非表示= YESであり、otherCategoryのボタン= YESであり、その画像が非表示=NOです。

loveCategoryのボタンをクリックすると、loveCategoryのボタンが非表示=YESおよびその画像が非表示=NOになり、otherCategoryのボタンが非表示=NOおよび画像が非表示=YESになります。

于 2013-03-21T13:31:50.227 に答える
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

別の方法は....

両方のタグを付け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 に答える