我有Twitter發佈的警報視圖。 警報視圖有2個按鈕和一個文本框 發送和取消禁用警報查看按鈕
我想禁用發送按鈕,直到用戶填充消息框(即textfield)。像 一樣,空字段類型的驗證。
如何禁用發送按鈕?
我有Twitter發佈的警報視圖。 警報視圖有2個按鈕和一個文本框 發送和取消禁用警報查看按鈕
我想禁用發送按鈕,直到用戶填充消息框(即textfield)。像 一樣,空字段類型的驗證。
如何禁用發送按鈕?
我也有類似的要求,是能夠做到這一點,而不訴諸任何蘋果(即採用私有類或API的)的明文禁止。在下面的例子中,我找到並禁用了「恢復」按鈕。
注1 - 的位置「[警報顯示]」是很重要的。它(顯然)列出了觀點,因此必須在嘗試查看視圖層次結構之前完成。
注2 - 的「載:」方法是我定義的,做一個NSString不區分大小寫字符串搜索。在你的代碼中使用rangeOfString。
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Application Warning"
message:@"What should I do with the file?"
delegate:self
cancelButtonTitle:@"Ignore"
otherButtonTitles:@"Remove", @"Recover", nil];
[alert show];
// try to find and disable "Recover" button
for(UIView *aView in alert.subviews)
{
if ([[[aView class] description] contains:@"Button"])
{
UIButton *aButton = (UIButton *)aView;
if ([aButton.titleLabel.text contains:@"Recover"])
{
aButton.enabled = NO;
}
}
}
對於當前的SDK,這是不可能的。您將不得不創建一個自定義視圖來接受用戶的輸入。您將文本字段添加到UIAlertView的事實本身不受支持,並且可能會在任何未來的SDK中打破。
我建議你創建一個自定義視圖如果你還希望它看起來像一個UIAlertView中,你可以通過適當的圖片和自定義按鈕做到這一點。
dats一個好主意......我已經做了類似dat的東西,所以它不會很方便。 謝謝mike 關於 – iscavengers 2010-06-03 12:49:43
不能工作(不再) – user387184 2013-07-08 14:47:32
哪個版本的iOS壞了?我已經在iOS 5和iOS 6上測試過了,它在兩者上都有效。如果您使用的是iOS 7測試版,則可能無法正常工作,因爲警報現在已經搞亂了。 – 2013-07-10 13:20:44
IOS 7的解決方案 – Codesen 2013-09-27 11:17:56