2012-08-16 67 views
1

我需要加載]我有亮點和選擇邏輯想通了,我現在需要的是確定選擇按鈕被按下加載視圖的只是一個簡單的方法基於[PickerView didSelectRow:(NSInteger)row inComponent(NSInteger)component視圖ios如何確定uibarbuttonitem是否已被推送/選擇?

這可能嗎?

例如,

if (/* select button is pressed */) 
{ 
    //push selected view onto stack. 
} 

更新

在這裏,我會後的代碼,所以你可以看到我已經打算。我通過nib文件設置了大部分內容。

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

    /* 
    //do simple error checking to ensure nothing badly crazy happens 

    if(row > [mPickerMenuItems count]) 
    { 
     NSLog(@"Row index is out of bounds of mPickerMenuItems length in [Overview pickerView:(UIPickerView*) didSelectRow:(NSInteger) inComponent:(NSInteger)]...bailing out"); 

     return; 
    } 
    else if(row < 0) 
    { 
     NSLog(@"Row index is negative in [Overview pickerView:(UIPickerView*) didSelectRow:(NSInteger) inComponent:(NSInteger)]...bailing out."); 

     return; 
    } 
    */ 

    NSString* selected = [_pickerMenuItems objectAtIndex:row]; 

    //NSLog(@"(in [Overview pickerView: didSelectRow]) resultLabel.text => %@", mResultLabel.description); 

    if([selected isEqualToString:@"My Profile"]) 
    { 

     if (/* select button is pressed */) 
     { 
      //push view onto stack. 
     } 

     NSLog(@"My Profile has been selected"); 
    } 
    else if([selected isEqualToString:@"Services"]) 
    { 

     NSLog(@"Services has been selected"); 
    } 
    else if([selected isEqualToString:@"Tools"]) 
    { 

     NSLog(@"Tools has been selected"); 
    } 
    else if([selected isEqualToString:@"Media"]) 
    { 

     NSLog(@"Media has been selected"); 
    } 
    else 
    { 
     NSLog(@"Nothing has been selected in [Overview pickerView: didSelectRow]"); 
    } 
} 

更新2

很抱歉的混亂。我想我應該說的是,我想根據UIPickerView中突出顯示的項目,在選擇UIBarButtonItem後立即觸發視圖開關。我很確定,如果我只是使用我自己的方法和所有方法的自然選擇,它會切換並加載,但不是當按下選擇按鈕時。

這是如何完成的?

回答

2

你只需要添加目標呢?或者我錯過了什麼?當特定對象的選擇器視圖被slected

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"My Bar Button" style:UIBarButtonItemStyleBordered target:self action:@selector(MYMETHOD)]; 
+0

在這裏,我更新了我的代碼,所以你明白我的意思。 – zeboidlund 2012-08-16 20:00:51

+0

我會完全誠實的,我仍然迷失。你能否更新一下你的帖子,並多加描述一下你正在做的和想做的事情?如果你已經做了一個選擇按鈕,你只需要一個目標。 – 2012-08-16 20:15:05

+0

您可以通過選擇按鈕,將連接檢查器和「發送事件」到你想叫當事件觸發的方法從下的一個圓拖動通過廈門國際銀行設定的目標也。 (通常你會使用Touch Up Inside事件。)如果可見,你甚至可以從圓圈拖到頭文件中,並且它會創建一個新的方法來爲你接收事件。非常漂亮,國際海事組織。 – livingtech 2012-08-16 20:17:55

0
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 

被調用。

假設_pickerview是選擇器視圖數據源,你可以簡單地加載要根據所選擇的指數的看法。

if(indexPath.row == x){ 
//Code to bring up the view controller 
} 

你的問題很混亂,不清楚你想做什麼。如果回答您的問題罰款或澄清它是什麼,你想實現

+0

我再次更新了問題。抱歉。 – zeboidlund 2012-08-16 20:19:33

+0

嘗試使用你想要做的事情的照片,因爲根據你的解釋它不是很清楚 – LostPuppy 2012-08-16 20:30:10

相關問題