作爲iOS編程的新手,我在UIPopoverController內部工作時對UIImageView和UIScrollView有些困惑。在這裏他們是...嵌入在UIScrollView中的圖像不會在UIPopoverController中顯示
一個UIViewController,其視圖指向其子視圖是UIImageView的UIScrollView。在UIViewController初始化期間,UIImageView的image屬性由另一個類設置。
-(void)loadView{
self.scrollView=[[UIScrollView alloc]init];
self.imageView=[[UIImageView alloc]init];
self.imageView.contentMode=UIViewContentModeScaleAspectFit;
[self.scrollView addSubview:self.imageView];
self.view=self.scrollView;
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.imageView.image=self.image;
self.scrollView.contentSize=self.imageView.image.size;
}
然後我把UIViewController作爲UIPopoverController的contentViewController,然後在響應塊中彈出。
cell.actionBlock=^{
NSLog(@"Going to show image for %@", item);
BNRItemCell* strongCell=weakCell;
if([UIDevice currentDevice].userInterfaceIdiom==UIUserInterfaceIdiomPad){
NSString* itemKey=item.itemKey;
UIImage* img=[[BNRImageStore sharedStore]imageForKey:itemKey];
if(!img){
return;
}
CGRect rect=[self.view convertRect:strongCell.thumbnailView.bounds fromView:strongCell.thumbnailView];
BNRImageViewController* ivc=[[BNRImageViewController alloc]init];
ivc.image=img;
self.imagePopover=[[UIPopoverController alloc]initWithContentViewController:ivc];
self.imagePopover.delegate=self;
self.imagePopover.popoverContentSize=CGSizeMake(600,600);
[self.imagePopover presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
};
當塊運行彈出一個窗口顯示了,但沒有圖像顯示,我確信圖像的設置正確的UIScrollView的contentSize也被設置爲圖像大小。
當我直接將UIViewController的視圖更改爲UIImageView時,圖像顯示。我不確定發生了什麼,爲什麼滾動視圖中的圖像不可見。
另外,我可以看到滾動視圖是內彈出動過程中,建立了具有水平和垂直滾動條顯示窗口。 –