2012-01-30 38 views
1

我在UIAlertView開始時顯示了EULA,其中有Accept按鈕。我已成功地按照Problem with opning the page (License agreement page)的鏈接回答了問題。如何在UIAlertView中添加TextView 320 * 460 iPhone

我只是想表明在開始6頁EULA的,但我無法顯示具有Alertview EULA內容全尺寸的TextView /滾動視圖。任何人都可以建議我正確的方式。提前致謝。

+0

如何將這樣一個巨大的文本視圖放入警報視圖?只需將文本轉儲到警報視圖中並讓它以自己的方式呈現,或使用模式視圖控制器。 – BoltClock 2012-01-30 06:49:50

+0

如果我們能在alertView顯示tableview中......那麼爲什麼不滾動的TextView? – 2012-01-30 06:52:12

+1

爲什麼您需要在警報視圖提供自己的實現?正如我所說的,只需將警報視圖的消息設置爲文本,它就會處理它。 – BoltClock 2012-01-30 06:53:57

回答

2

您可以製作任意大小的alertView並添加任何大小的自定義TextView。使用代碼snippiest

- (void) doAlertViewWithTextView { 

UIAlertView *alert = [[UIAlertView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 

alert.title = nil; 
alert.message = nil; 
alert.delegate = self; 
[alert addButtonWithTitle:@"Cancel"]; 
[alert addButtonWithTitle:nil]; 

UITextView *textView = [[UITextView alloc] initWithFrame:alert.bounds]; 
textView.text = @"This is what i am trying to add in alertView.\nHappy New Year Farmers! The new Winter Fantasy Limited Edition Items have arrived! Enchant your orchard with a Icy Peach Tree, and be the first farmer among your friends to have the Frosty Fairy Horse. Don't forget that the Mystery Game has been refreshed with a new Winter Fantasy Animal theme! "; 
textView.keyboardAppearance = UIKeyboardAppearanceAlert; 
textView.editable = NO; 
[alert addSubview:textView]; 
[textView release]; 

[alert show]; 
[alert release]; 

}

但通過使alertView的大小等於整個iPhone的屏幕尺寸,你將失去取消按鈕。

也可以使用這種委託方法。

- (void)willPresentAlertView:(UIAlertView *)alertView { 

[alertView setFrame:CGRectMake(0, 0, 320, 460)];} 
+0

肯定。它的工作,但我想說明接受與在拒絕下面的TextView的按鈕。現在它不是看起來很不錯。警報和TextView的屏幕尺寸的任何建議,使其適合,因爲我需要... – 2012-01-30 08:56:55

+0

爲了這個目的,你必須減少TextView的尺寸或使從alertView繼承的類,並自定義按鈕。 – fibnochi 2012-01-30 11:53:50

+0

無法看清iOS8上的iPad TextView的 – Gank 2015-05-21 03:10:45