2013-12-16 54 views
0

Ok按鈕不起作用。 我知道它發生,因爲我添加了backgroundImageView。 我如何使它工作?將UIImageview添加到子視圖後,無法單擊UIAlertView中的按鈕

這是我的代碼:

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 

UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"clock"]]; 

backgroundImageView.frame = CGRectMake(0, 0, 282, 200); 

backgroundImageView.contentMode = UIViewContentModeScaleToFill; 
backgroundImageView.userInteractionEnabled = YES; 

[alert addSubview:backgroundImageView]; 

[alert sendSubviewToBack:backgroundImageView]; 

[alert show]; 
+0

試試這個https://github.com/wimagguc/ios-custom-alertview – the1pawan

+0

相同的代碼爲我工作。也許一些不同的東西重疊像你的alertView tapGestureRecognizer或其他子視圖。 – Miroslav

+0

http://stackoverflow.com/a/19028950/1545180轉介此。 – Ganapathy

回答

1

子視圖不添加到UIAlertView,它不支持的功能。如果您需要創建自定義視圖,請查找支持所需內容的第三方警報視圖解決方案,然後使用它。

+1

只需從iOS 7開始進行簡單校正,我們就無法自定義標準警報視圖。 –

+0

@Bhumeshwerkatre,它從來沒有支持的功能,它應該永遠不會完成 - 這不是iOS7的新功能,它只是在iOS7中根本不起作用。 – Wain

+0

@雖然我同意它不應該被允許,現在也不能完成它。蘋果有時會允許應用程序通過這個過程,我有一箇舊的應用程序,這樣做。但現在這肯定不會發生。 – Popeye

1

Apple建議您不要將子視圖添加到UIAlertView您必須創建自己的警報視圖。

2

不幸的是,Apple不允許添加子視圖或修改視圖層次結構。請參閱https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html

UIAlertView類旨在按原樣使用,不支持子類。該類的視圖層次結構是私有的,不能修改。

而看到https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UIAlertView.html#//apple_ref/doc/uid/TP40012857-UIAlertView爲:警報的

外觀圖

無法自定義的警報視圖的外觀。

違反這些規定會讓您的應用在Apple Review流程中被拒絕 - 所以我會回頭看看您的應用設計。

2

Apple不允許您將子視圖添加到UIAlertView。子類UIAlertView不是一個選項,這個類不打算被分類,這樣做可能是應用程序拒絕的原因。

您可以使用圖書館從here定製UIAlertView

相關問題