2012-08-25 70 views
1

我首先使用「[UIAlertView alloc] initWithTitle:」調整圖像大小並自定義AlertView,但失敗。如何使用圖像和按鈕調整和自定義AlertView

然後我使用下面的代碼,所有工作正常(alertView調整大小,並有一個圖像),但只是不能有一個按鈕來關閉alertView。在這裏呆了半天。請幫忙,謝謝!

UIAlertView* find = [[[UIAlertView alloc] init]initWithFrame:CGRectMake(0,0,300,420)]; 
    [find setDelegate:self]; 
    [find setTitle:@"Sample Alert"]; 
    [find setNeedsLayout]; 

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 10, 80, 80)]; 

NSString *path = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"111.png"]]; 
UIImage *bkgImg = [[UIImage alloc] initWithContentsOfFile:path]; 
[imageView setImage:bkgImg]; 
[bkgImg release]; 
[path release]; 

[find addSubview:imageView]; 
[imageView release]; 

[find show]; 
find.frame = CGRectMake(0,0,300,200); 

[find release]; 

回答

2

UIAlertView沒有以這種方式進行初始化。通常您使用initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:初始化UIAlertView

您可以嘗試使用[find addButtonWithTitle:@"button 1"];。您還需要實施UIAlertView Delegate才能與按鈕進行交互。

如果這不起作用,我建議實施自己的自定義視圖,如果你正在尋找一個重大修改的外觀。

希望這有助於。

+0

非常感謝KDaker!只有'[find addButtonWithTitle:@「button 1」];'已經足夠並且有效。它可以關閉AlertView。不需要實現UIAlertView委託來與按鈕進行交互。 – user1188849

+0

非常感謝KDaker!只有'[find addButtonWithTitle:@「button 1」];'已經足夠並且有效。它可以關閉AlertView。不需要實現UIAlertView委託來與按鈕進行交互。但有兩件事情不盡如人意,其中一個是,該按鈕與alertview的右側和左側邊緣不一致。按鈕的右邊緣不在警報視圖的右邊緣。儘管我調整並放大了alertView,但該按鈕仍然不在alertview中。有沒有辦法調整按鈕的大小?另一件令人不滿意的事情是,alertView在彈出後會震動一次。 – user1188849

+0

UIAlertView不允許您控制其按鈕的框架。我真的不會推薦過多地定製UIAlertView,因爲如果你提交給應用商店,你可能會拒絕蘋果。你能張貼你有什麼和你想要實現的截圖嗎? – KDaker