コア プロットを使用してグラフを作成しました。グラフは画面上に完全に表示されます。私はそれをタップするとフルスクリーンボタンを持っています.popOverはグラフをより大きなフレームに表示します...問題は、グラフのサイズを変更してもサイズが変更されないことがあることです..
ポップオーバーを閉じると、画面に大きな文字が表示されます。これは常に発生するわけではありません。
私の.hファイルで
CPGraphHostingView *scatterPlotView;
CPXYGraph *graph, *barChart;
私の.mファイルで
チャートを作成し、全画面ボタンをクリックします。
-(void)fullviewpressed:(id)sender
{
UIViewController* popoverContent = [[UIViewController alloc]
init];
UIView* popoverView = [[UIView alloc]
initWithFrame:CGRectMake(0, 212, 1024, 480)];
if(!UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
popoverView.frame = CGRectMake(0, 212, 768, 700);
popoverView.backgroundColor = [UIColor blackColor];
popoverContent.view = popoverView;
//resize the popover view shown
//in the current view to the view's size
popoverContent.contentSizeForViewInPopover = CGSizeMake(980, 460);
if(!UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
popoverContent.contentSizeForViewInPopover = CGSizeMake(768-40, 660);
//create a popover controller
UIPopoverController * popoverController21 = [[UIPopoverController alloc]initWithContentViewController:popoverContent];
self.popoverController = popoverController21;
[popoverController21 release];
self.popoverController.delegate = self;
CGRect btnRct = fullViewBtn.frame;
btnRct.origin.y+=20;
//present the popover view non-modal with a
//refrence to the button pressed within the current view
[self.popoverController presentPopoverFromRect:btnRct
inView:self.view
permittedArrowDirections: UIPopoverArrowDirectionUp
animated:YES];
if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
scatterPlotView.frame = CGRectMake(5, 10, 980, 460);
else
scatterPlotView.frame = CGRectMake(5, 10, 768-40, 660);
[popoverView addSubview:scatterPlotView];
[touchView removeFromSuperview];
touchView.frame =scatterPlotView.frame;
[popoverView addSubview:touchView];
//release the popover content
[popoverView release];
[popoverContent release];
}
}
ここで touchView は、ユーザーがチャートをタップしたときに注釈を追加するために使用される UIView のオブジェクトです。
要するに、私のフレームを変更しているだけですCPGraphHostingView
。しかし、なぜサイズが変更されないことがありますか。