UIView :: addSubView最初会阻碍导航栏

时间:2011-06-05 10:20:32

标签: ios uiview uiimageview

我为ipad设备设计了一个非常简单的界面:UIView +导航栏。

然后在加载视图后,它将从某个位置下载图像并使用以下方法显示它:

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    UIImage* testImg = [UIImage imageWithData:_networkData];
    UIImageView* testView = [[UIImageView alloc] initWithImage:testImg];
    [_view addSubview:testView];
    [testView release];
}

问题是现在新的UIImage占据了Ipad的整个可见区域。

我想知道如何解决这个问题?我想我必须在原始视图中找到显示区域的框架,然后将其分配给UIImageView实例?

1 个答案:

答案 0 :(得分:1)

initWithImage会自动调整框架以匹配您传入的图像的大小。要告诉UIImageView采用与其父视图相同的尺寸,您只需添加以下行在添加子视图之前:

testView.frame = _view.bounds

...我们使用bounds而非frame,因为超级视图可能有一个我们不希望图像视图具有的偏移量。