2013-08-03 135 views
0

我有一個UIAlertView與多個按鈕。是否有可能變灰並禁用按鈕?我希望按鈕可見,但清楚它不能被推。任何建議表示讚賞。UIAlertView灰色按鈕

回答

1

確保您已經啓用了當前VC作爲實施<UIAlertViewDelegate>協議,然後在你的VC,你可以做到以下幾點:

- (void)viewDidAppear:(BOOL)animated { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert!" message:@"This is an alert view" delegate:nil cancelButtonTitle:@"Cancel!" otherButtonTitles:@"Off", @"On", nil]; 
    alert.delegate = self; 
    [alert show]; 
} 


/* UIAlertViewDelegate methods */ 
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView { 
    return NO; 
} 

// Other UIAlertViewDelegate methods... 

現在,你爲什麼會想顯示一個按鈕一個UIAlertView中哪些沒有任何功能是一個完全不同的問題... :)

0

我聽到很多人繼承UIAlertView中的,但後來我讀了Apple's UIAlertView Class Reference page此評論:

子類注

的UIAlertView中類擬用作原樣,並且不 支持子類。該類的視圖層次結構是私有的,並且不得修改 。

即人們不應該試圖修改UIAlertView的元素或行爲。很可能在更高版本的iOS(例如iOS 8或iOS 7.1或其他)中行爲會發生變化,從而打破了對UIAlertView的各種修改。

不管怎麼說,爲了回答你的問題:爲什麼不嘗試創建你自己的UIView,你可以在你的任何視圖之上添加UIAlertView-like子視圖?這樣,您就可以輕鬆控制按鈕及其行爲。