2014-09-12 7 views
0

사용자가 이름에 서명 할 수있는 이미지 프레임 (흰색 상자)을 만드는보기 컨트롤러가 있습니다. ipad의 세로 모드에서는 정상적으로 작동하지만 가로 모드에서 로그인하면 화면 왼쪽 하단에 상자가 나타납니다. 중앙처럼 보이지 않아야합니다.가로 모드에서 서명 상자가 올바르게 표시되지 않습니다.

아래 코드를 사용했지만 도움이나 제안을 보내 주시면 감사하겠습니다.

@interface PropertyOwnerSignatureViewController() 

@end 

@implementation PropertyOwnerSignatureViewController 

@synthesize mySignatureImage; 
@synthesize lastContactPoint1, lastContactPoint2, currentPoint; 
@synthesize imageFrame; 
@synthesize fingerMoved; 
@synthesize navbarHeight; 


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self        = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
    [[NSNotificationCenter defaultCenter] 
    addObserver:self selector:@selector(orientationChanged:) 
    name:UIDeviceOrientationDidChangeNotification 
    object:[UIDevice currentDevice]]; 


    // //set the title of the navigation view 
    [self.navigationItem setTitle:@"Sign here"]; 

     self.view.backgroundColor  = [UIColor lightGrayColor]; 

    //get reference to the navigation frame to calculate navigation bar height 
    CGRect navigationframe   = [[self.navigationController navigationBar] frame]; 
    navbarHeight      = navigationframe.size.height; 
    // 

    // //create a frame for our signature capture based on whats remaining 
    imageFrame      = CGRectMake(self.view.center.x, 
                self.view.center.y, 
                self.view.frame.size.width, 
                self.view.frame.size.height/2.5); 



    // //allocate an image view and add to the main view 
    mySignatureImage     = [[UIImageView alloc] initWithImage:nil]; 
    mySignatureImage.frame   = imageFrame; 
    mySignatureImage.center   = self.view.center; 
    mySignatureImage.backgroundColor = [UIColor whiteColor]; 
    [self.view addSubview:mySignatureImage]; 
    AppDelegate *appDelegate = 
    [[UIApplication sharedApplication] delegate]; 
    if(appDelegate.imagePhSignature) 
    { 
     mySignatureImage.image = appDelegate.imagePhSignature; 
    } 


} 

- (void) orientationChanged:(NSNotification *)note 
{ 
    UIDevice * device = note.object; 
    mySignatureImage.center   = self.view.center; 

    switch(device.orientation) 
    { 
     case UIDeviceOrientationPortrait: 
      /* start special animation */ 
      break; 

     case UIDeviceOrientationPortraitUpsideDown: 
      /* start special animation */ 
      break; 

     default: 
      break; 
    }; 
} 
+0

당신이 홍보 = ortaiot 및 가로 모드 같은에서 서명보기를 원했는가이 줄을 교체? – BHASKAR

+0

예 상자가 모두 가운데에 맞춰져 있어야합니다. –

답변

0

AppDelegate *appDelegate = 
[[UIApplication sharedApplication] delegate]; 

// //create a frame for our signature capture based on whats remaining 
imageFrame      = CGRectMake(appDelegate.window.center.x, 
               appDelegate.window.center.y, 
               appDelegate.window.size.width, 
               appDelegate.window.bounds.size.width/1.5); 
+0

appdelgate 창 이름에 응용 프로그램 대리자 –

+0

의 유형 객체에 속성 창이 표시되지 않으므로 오류가 발생합니까? – BHASKAR

+0

아니요 그냥 @property (강하고 비 구조) UIWindow * 창 아래에있는 창입니다. –