Я использую zBAR QR Reader в приложении для iPad, которое я создаю, и я добавил настраиваемый перекрестие наложения на ZBarReaderViewController
. Мне удалось получить накладку в центр, однако, когда устройство вращается, наложение, очевидно, выходит из центра.Constrain cameraOverlayView to center of screen
У меня был поиск вокруг программного ограничения вида, но ни одно из предложений не сработало. Я пробовал все возможные комбинации с UIViewAutoResizingMask
, и я пробовал кучи разных настроек с помощью метода [NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]
.
Вот мой код:
self.readerqr = [ZBarReaderViewController new];
int readerPointX = ((self.view.bounds.origin.x) + (self.view.bounds.size.width/2.0));
int readerPointY = ((self.view.bounds.origin.y) + (self.view.bounds.size.height/2.0) -60);
self.readerqr.readerDelegate = self;
self.readerqr.showsHelpOnFail = NO;
CGRect viewFrame = CGRectMake(readerPointX, readerPointY, 200, 200);
self.crossHair = [[UIImageView alloc] initWithFrame:viewFrame];
self.crossHair.image = [UIImage imageNamed:@"qr.png"];
[self.readerqr setCameraOverlayView:self.crossHair];
constraint = [NSLayoutConstraint constraintWithItem:self.crossHair
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1
constant:200];
[self.crossHair addConstraint:constraint];
constraint = [NSLayoutConstraint constraintWithItem:self.crossHair
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1
constant:200];
[self.crossHair addConstraint: constraint];
Что такое правильный способ установить это так, мое наложение всегда будет находиться в центре экрана, независимо от изменения ориентации? Спасибо, спасибо.