我为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实例?

最佳答案

initWithImage将自动调整帧以匹配您要传递的图像的大小。要告诉UIImageView采取与其父视图相同的大小,可以在添加子视图之前添加以下行:

testView.frame = _view.bounds


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

关于ios - UIView::addSubView最初阻塞了导航栏的顶部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6242302/

10-13 05:03