2011-10-20 1 views
1

실제로 위아래 화살표가있는 작업 시트 만 표시해야합니다. 내보기에는 다른 열이 있습니다. 지금 문제는 내가 첫 번째 열을 클릭 할 때 위쪽 방향으로 작업 시트를 표시하지만 왼쪽에 화살표를 옮길 필요가 있으므로 두 번째 열과 작업 시트를 표시한다는 것입니다.iPad 앱에서 UIActions 시트의 화살표 방향 조정

이 코드는 아래 코드에서 관리합니다. 그러나 나는 마지막 열의 오른쪽에 화살표를 움직일 수 없다.

float x=offset.x; 
float y=offset.y; 
float w=newPop.frame.size.width; 
float h=newPop.frame.size.height; 
if(offset.x < 150) 
{ 
    x = 160; 
    w = w-180; 
} 
else if(offset.x > 600) 
{ 
    x= 600; 
    //w= w+180; 
} 

CGRect myImageRect = CGRectMake(x, y, w, h); 


[newPop showFromRect:myImageRect inView:_calDay animated:YES]; 

너비를 줄임으로써 관리되는 화살표의 왼쪽 상단 방향. 하지만 그것으로 올바른 방향으로 조정할 수는 없습니다.

이 문제에 대한 해결책이 있으면 알려주십시오. 아래 방향을 확인해 주시고 방향을 왼쪽으로 잡았으나 위쪽 방향과 오른쪽 방향이 필요합니다. 내가 제안 무엇

enter image description here

+0

UIActionSheet? UIPopOverController가 아닌가요? – Jake

+0

예 새로운 API를 사용하여 UIActionsheet를 표시하고 있습니다. 3.2 showFromRect에서 사용할 수있는 속성 시트를 표시하려면 popover처럼 보이게하십시오. –

답변

1

은 당신의 actionsheet 하나 개의보기를 가지고있다.
이렇게 팝업으로보기를로드하십시오 ....

NSSet *allTouches = [event allTouches]; 
UITouch *touch = [[allTouches allObjects] objectAtIndex:0]; 
CGPoint p = [touch locationInView:self.view]; 


if(popoverController) 
    [popoverController dismissPopoverAnimated:YES]; 

popOverController *obj_popOverController = [[popOverController alloc] initWithNibName:@"popOverController" bundle:nil]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:obj_popOverController]; 
popoverController = [[UIPopoverController alloc] initWithContentViewController:navController]; 
[popoverController setPopoverContentSize:CGSizeMake(320.0, 320.0)]; 
[popoverController presentPopoverFromRect:CGRectMake(p.x, p.y, 10, 10) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown animated:YES]; 
[navController release];