2013-07-11 29 views
0

在我的項目中,我已經使用actionsheet button.how創建了textfield,可以在第一次創建後禁用userinterface。如何禁用ios中的動作表按鈕

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex                                            
{ 
     if (buttonIndex==0) 
      { 
       text1 = [[UITextField alloc] initWithFrame:CGRectMake(x2,y2+3, 300, 25)]; 
       text1.backgroundColor = [UIColor whiteColor]; 
       text1.clearButtonMode = UITextFieldViewModeWhileEditing; 
       text1.font = [UIFont systemFontOfSize:15.0f]; 
       [email protected]"ENTER HOME LOAN INTEREST"; 
       [text1 setKeyboardType:UIKeyboardTypeNumberPad]; 
       text1.textAlignment=NSTextAlignmentCenter; 
       text1.userInteractionEnabled=YES; 
       [scrollview addSubview:text1]; 
       scrollview.contentSize=CGSizeMake(self.view.frame.size.width,self.view.frame.size.height+to); 
       to+=to; 
       y2+=30; 
       img6.frame=CGRectMake(0, y2+4, 320, 60); 
       y2=y2+62; 
       img7.frame=CGRectMake(0, y2+5, 320, 60); 
       y2=y2-62; 
      } 
      else if (buttonIndex==1) 
      { 
       text2 = [[UITextField alloc] initWithFrame:CGRectMake(x2, y2+3, 300, 25)]; 
       text2.backgroundColor = [UIColor whiteColor]; 
       text2.clearButtonMode = UITextFieldViewModeWhileEditing; 
       text2.font = [UIFont systemFontOfSize:15.0f]; 
       [email protected]"ENTER EDUCATION EXPENSE"; 
       [text2 setKeyboardType:UIKeyboardTypeNumberPad]; 
       text2.userInteractionEnabled=YES; 
       text2.textAlignment=NSTextAlignmentCenter; 
       [scrollview addSubview:text2]; 
           scrollview.contentSize=CGSizeMake(self.view.frame.size.width,self.view.frame.size.height+to); 

       to+=to; 

       y2+=30; 

       img6.frame=CGRectMake(0, y2+4, 320, 60); 
       y2=y2+60; 
       img7.frame=CGRectMake(0, y2+5, 320, 60); 
       y2=y2-60; 
      } 

} 

如何防止用戶創建相同的文本框很多時間

+0

你是如何調用操作表的?我假設從一個按鈕或其他控制。在上面的代碼中禁用它 – KHansenSF

回答

0

在我看來,就好像兩個文本框是相同的,與佔位符之外,想必你與價值做後來。您可以輕鬆地使用單個文本字段作爲您班級中的一個屬性。如果您正在使用故事板,則可以將文本框放置在故事板中,也可以將其設置爲「隱藏」。

一旦你有一個公共文本字段,你可以簡單地設置佔位符文本,並使該字段在actionsheet委託方法內可見。如果佈局有其他差異,那麼也可以在這一點上處理。

這種方法需要一種方法來保持「狀態」,以便您稍後知道該字段的上下文。您可以通過檢查佔位符文本來進行管理,但這會很脆弱,因爲文字可能會隨時改變。更好的方法是設置標籤值,例如本國負荷利息爲text2.tag = 1,教育費用爲text2.tag = 2。您稍後可以訪問標籤值來解釋上下文。

因爲只有一個字段,並且由於它可以通過屬性訪問,所以稍後可以從超級視圖中刪除文本字段,或者再次隱藏它並使用另一個標誌來知道它已顯示給用戶。很可能你可以檢查你是否有住房貸款利息或教育費用的價值,在這種情況下,不要再顯示。

您也可以隱藏/移除/禁用從actionsheet delegate回調方法中調用動作表的按鈕,同樣您也需要一個屬性才能訪問它。