1
我在我的Cocoa應用程序中有一個TextField。這個TextField有時會被填充並且有時是空的。可可通知,如何觀察事件?
我想要它,所以當字段爲空時,一個按鈕被禁用。現在,只要我從CoreField獲取其值的地方對Core Data進行一些操作,就會檢查該字段。
我希望它總是被檢查。
我在我的Cocoa應用程序中有一個TextField。這個TextField有時會被填充並且有時是空的。可可通知,如何觀察事件?
我想要它,所以當字段爲空時,一個按鈕被禁用。現在,只要我從CoreField獲取其值的地方對Core Data進行一些操作,就會檢查該字段。
我希望它總是被檢查。
如果用戶編輯文本字段並調出字段編輯器,則可以使用以下內容。
你可以實現NSTextFieldDelegate協議(這實際上只是NSControlTextEditing協議)。例如,在控制器或委託對象中實現control:textShouldEndEditing:
方法,並使用它來檢查新字符串的值。如果字符串爲空,則禁用該按鈕。
// In a control object which has a reference to the NSTextField and the NSButton
- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor {
if ([fieldEditor.string isEqualToString:@""])
{
[self.button setEnabled:NO];
return YES;
}
[self.button setEnabled:YES];
return YES;
}
更新:我現在不約CodeData該位。在這種情況下,你應該按照下列指示,Disable/Enable NSButton if NSTextfield is empty or not,
另一種方法是給控制器的特性暴露 串
value
,綁定文本字段的值綁定到這個stringValue
屬性,綁定按鈕的enabled
綁定到控制器的stringValue.length
。