我有一個帶3個按鈕和文本的alertview(標籤和非textView)如果我把它們全部粘在一起,它會變得醜陋,這個微小的滾動文本和所有的按鈕佔據了大部分的空間。有誰知道如何解決這一問題?UIALertView帶文本的多個按鈕
回答
爲什麼不嘗試爲此創建自定義視圖。
只要你想定製,大小,顏色,背景等
並顯示爲模式窗口/視圖可以使用。
如果你仍然想使用alertView那麼也可以把間距爲:
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Title" message:@"\n\n!\n\n\n\n" delegate:self cancelButtonTitle:@"Button 1" otherButtonTitles:@"Button 2",@"Button 3", nil];
[alert show];
我建議你做兩個uiaertviews然後用
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
檢查哪些警報視圖被點擊。如果你真的需要一個uialertview,否則下面的答案也很好。
詳細:
添加UIAlertView中委託給你的視圖控制器:
@interface ViewController : UIViewController <UIAlertViewDelegate>
在創建2個alertViews它應該是這樣的:
UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"Message" message:@"the first UIAlertView" delegate: self cancelButtonTitle:@"Back" otherButtonTitle:@"More Options", nil];
和sec OND:
UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"More Options" message:nil delegate:self cancelButtonTitle:@"Back" otherButtonTitle:@"Option 1", @"Option 2", @"Option 3", nil];
在你ViewController.m添加:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex if (alertView == alert1) { [alert2 show]; } else if (alertView == alert2) { NSString *string = [alertView buttonTitleAtIndex:buttonIndex]; if ([string isEqualToString:@"Option 1"]) { //Do stuff } else if ([string isEqualToString:@"Option 2"]) { //Do something else } else if ([string isEqualToString:@"Option 3"]) { //Do something 3rd } }
爲什麼大拇指向下? – JomanJi
一個簡單的方法來移動文本視圖下是添加一條消息
[alertViewObject setMessage:@"\n"];
你的框架沒有起作用的原因是 - 顯示框架和cr在開始動畫之前預訂視圖層次結構。您還應該使文本查看第一響應者,以便彈出鍵盤。
使用以下代碼自定義您的AlertView。
// Customize Alert View
UIAlertView *alertView = [UIAlertView new];
alertView.title = @"Alert Title";
// Adding Your Buttons
[alertView addButtonWithTitle:@"Button1"];
[alertView addButtonWithTitle:@"Button2"];
[alertView addButtonWithTitle:@"Button3"];
[alertView addButtonWithTitle:@"Button4"];
// Add a Space for Text View
alertView.message = @"\n";
// View heirarchy, set its frame and begin bounce animation
[alertView show];
// Set the frame
CGRect frame = alertView.frame;
frame.origin.y -= 100.0f;
alertView.frame = frame;
// Adding TextField
UITextField* text = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
text.borderStyle = UITextBorderStyleRoundedRect;
[alertView addSubview:text];
[text becomeFirstResponder];
我希望這會幫助你。
很酷,我可以試試看! – user1970792
這看起來很棒,非常完美,但我需要預先寫好的信息,但我仍然可能在另一種情況下使用它。感謝您花時間回答! – user1970792
你接受我的答案嗎? –
- 1. 帶19個按鈕的UIAlertView
- 2. 2個帶3個按鈕的UIAlertView?
- 3. 帶多個文本的按鈕
- 4. 顯示帶文本框和按鈕的UIAlertview時出現問題
- 5. iphone sdk-帶圖像的UIAlertView按鈕
- 6. 帶按鈕的文本框
- 7. 帶有很多按鈕的UIAlertView似乎被破壞iOS 6
- 8. 帶有一個文本區域的多個按鈕
- 9. 帶有兩個TextFields和兩個按鈕的UIAlertView
- 10. 帶有多個文本塊的Windows 7手機按鈕
- 11. 帶文本輸入的多個單選按鈕
- 12. 帶有多個文本和圖像的按鈕
- 13. UIAlertView中的多個文本字段
- 14. UIAlertView灰色按鈕
- 15. UIAlertView按鈕標記
- 16. UIAlertView按鈕操作?
- 17. 禁用UIAlertView按鈕
- 18. 當文本輸入時在UIAlertView中啓用按鈕 - 多個警報視圖
- 19. 多個UIAlertView;每個都有自己的按鈕和動作
- 20. 帶粗體文本的UIAlertView消息
- 21. iOS7 - 帶動畫文本的UIAlertView
- 22. TextField覆蓋UIAlertView的按鈕
- 23. 帶文本和圖像的HTML按鈕
- 24. 帶文本按鈕的WinForms消息框
- 25. 帶文本和圖像的Android按鈕
- 26. HTML +帶文本和圖像的按鈕
- 27. 帶按鈕和文本字段的UIScrollview
- 28. vb.net按鈕帶有&熱鍵的文本
- 29. 鈦:創建帶有文本的按鈕
- 30. 從EditText不帶按鈕的文本
感謝您的一個很好的答案,但由於我是Objective-C的新手,我還沒有開始使用多個視圖,但仍然很好的答案(希望我可以投票..) – user1970792
我的第二個答案呢? –
我要試一試 – user1970792