2013-06-30 104 views
0

1.在Facebook iOS應用程序中,當您打開一個新帖子但沒有輸入任何內容時,右上角的Post按鈕不活動。它會在輸入任何內容後立即生效。如何實現該效果?textfield和tableview單元格到導航欄中的活動按鈕

2.我想製作一個包含多個標籤名稱的頁面作爲單元格內容,用戶可以選擇一些標籤來過濾內容。基本上,有兩個部分,選定部分和未選定部分。當用戶觸摸未選定部分的單元格時,它將飛到所選部分。我希望只有當所選部分中至少有一個單元格時(最初,所有標籤名稱都在未選定部分中),才能激活右上角的GO按鈕。那麼如何實現它以讓tableview單元格在導航欄中實現GO按鈕?謝謝!

回答

0

使用以下代碼...通過代碼中的註釋進行解釋。

viewDidLoad

textField.delegate = self; //sets delegate to this file so it calls the method below 

.h文件

@interface ViewController : UIViewController <UITextFieldDelegate> //makes it so we can set the delegate 

.m文件

- (BOOL) textField:(UITextField *)aTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { //method that gets called on edit 
if([textField.text length] > 0) { //if contains characters 
tabBarButton.enabled = YES; //set enabled 
} 
else { //if not 
tabBarButton.enabled = NO; //set disabled 
} 
return YES; 
} 

您必須相應地更改tabBarButtontextField,因爲這些是變量。

+1

可靠的答案。 +1 – 2013-07-01 02:09:18

0

您可以使用UIButton的enabled屬性並檢測該按鈕何時啓用或不啓用。

對於UITextView,可能你有一個可以幫助你的委託方法。從here中閱讀所有代表方法。例如,您可以使用textViewDidChange:(UITextView *)textView方法。在它裏面,只有當[textView.text length]大於0時,你纔可以啓用你的按鈕。

對於第二個答案,你應該有一個模型(可能是一個數組)存儲選定標籤。管理按鈕狀態的正確方法應該是使用KVO,每次模型更改時檢測,只有在陣列中有項時才啓用按鈕。另一種方法應該使用相同的方法,從模型中添加或刪除項目,以正確啓用或禁用按鈕。

對不起我的英語,但我希望這個答案有幫助!