Вот мои настройки. У меня есть viewcontroller, который я создаю и добавляю как подпредставление. Viewcontroller представляет некоторые параметры, которые пользователь может выбрать. Контроллер представления выдвигается в ответ на жест "длинного нажатия". В viewcontroller я добавил дочерний UIView, чтобы сгруппировать некоторые другие элементы управления вместе, чтобы я мог перемещать их по экрану как единое целое и, когда они отображаются, центрировать их в месте длительного нажатия. Вот код, который создает экземпляр контроллера представления, изменяет его местоположение и добавляет его как подпредставление:
UserOptions *opts = [[UserOptions alloc] initWithNibName:@"UserOptions" bundle:nil];
[opts recenterOptions:location];
[self.view addSubview:opts.view];
Этот фрагмент кода создает и передает viewcontroller, но вызов recenterOptions ничего не делает. Вот этот метод:
- (void) recenterOptions:(CGPoint)location {
CGRect oldFrame = self.optionsView.frame;
CGFloat newX = location.x; // + oldFrame.size.width / 2.0;
CGFloat newY = location.y; // + oldFrame.size.height / 2.0;
CGRect newFrame = CGRectMake(newX, newY, oldFrame.size.width, oldFrame.size.height);
self.optionsView.frame = newFrame;
}
Обратите внимание, что self.optionsView - это дочерний UIView, который я добавил в перо viewcontroller.
Кто-нибудь знает, почему я не могу изменить местоположение UIView?
С уважением,
Eric