如何在UIAlertView中放置UIWebView?

时间:2011-05-31 11:28:51

标签: iphone objective-c

我尝试使用以下代码向WebView添加AlertView

- (void)viewDidLoad {
search = [[UIAlertView alloc] initWithTitle:@"title" message:@"iGoogle" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Search", nil];
[search addSubview:googleView];
googleView = [[UIWebView alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
[search show];

[search release];

[super viewDidLoad]; }

但是,只有AlertView出现,没有WebView。而且,我在哪里可以获得有关添加CGRectMakes等内容的更多详细信息?

5 个答案:

答案 0 :(得分:6)

尝试在分配googlview后添加[search addSubview:googleView]; ...

答案 1 :(得分:0)

您是否尝试将addSubview:googleView调用字符串与googleView =字符串交换?

答案 2 :(得分:0)

这是我用了一段时间回来向UIAlertView添加子视图的链接。 “技巧”是添加一个消息参数,使警报视图的高度增加,然后在其上放置一个子视图。我从未尝试过网络视图。

http://www.iphonedevsdk.com/forum/iphone-sdk-development/1704-uitextfield-inside-uialertview.html

还可以使用网址初始化您的网页视图并根据需要实施委托。

答案 3 :(得分:0)

试试这个

- (void)viewDidLoad 
{
googleView = [[UIWebView alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];

search = [[UIAlertView alloc] initWithTitle:@"title" message:@"iGoogle" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Search", nil];

[search addSubview:googleView];

[search show];

[search release];

[super viewDidLoad]; 

}

首先初始化webview的内存,然后将其添加到警报视图中。

答案 4 :(得分:0)

iOS 8中不推荐使用

UIAlertView

要实现相同的功能,请使用UIAlertController

NSURL *url = [[NSBundle mainBundle] URLForResource:@"page" withExtension:@"html"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];  
[webView loadRequest:request];

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"HTML" message:nil preferredStyle:UIAlertControllerStyleAlert];
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 60, 60)];
webView.backgroundColor = [UIColor clearColor];
[alert.view addSubview:webView];

[self presentViewController:alert animated:YES completion:nil];