У меня проблема с пониманием того, как параметр, передаваемый в метод drawInRect, определяется при выполнении преобразования вращения на UIView.
В качестве примера у меня есть UIView, который я повернул на угол 307степень.В методе drawInRect я регистрирую следующее: self.frame: {{103.932, 273.254}, {64.3007, 84.3374}} rect (переменная, передаваемая в качестве параметра: {{0, 0.102913}, {18, 89}}
Проблема в том, что в соответствии с документацией я не должен рисовать вне прямоугольника, но, учитывая то, что я должен рисовать, мои изображения там не подойдут.
Может кто-нибудь объяснить мне, как япредполагается использовать drawInRect в случае, если мой UIView повернут?
Чтобы дать более подробную информацию о моей проблеме, вот что я делаю:
У меня есть прокрутка с contentView внутри (Я добавляю свои UIViews в представлении содержимого.
Представления, о которых идет речь, состоят из изображения обработчика (внизу слева) и основного изображения (вверху справа). Предполагается, что пользователи могут получить представление, нажавобработчик, но это не главное.
Метод drawInRect UIView содержит следующее:
[_image drawInRect:CGRectMake(handlerSize.width, 0, _image.size.width, _image.size.height)];
CGSize size = CGSizeMake(kHandPickerWidth/self.scrollViewScale, kHandPickerHeight/self.scrollViewScale);
[_handPickerImage drawInRect:(0, _image.size.height, size.width, size.height)];
Объекты UIViews добавляются в viewWillAppear в представлении содержимого, выполняяследующее:
первый экземпляр,
, затем addSubview:
, затем я устанавливаю параметр scrollViewScale,
, затем я устанавливаю параметр кадра (в соответствии с верхнимотображается правое изображение (которое может изменяться)
, затем я поворачиваю UIView.
Начиная с третьей строки, код выполняется из
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
, чтобы убедиться, что каждыйЕсли необходимо, переменная устанавливается правильно.
Линия, определяющая переменную размера, предназначена для регулировки размера маркера, независимо от значения zoomScale вида прокрутки.