У меня есть код в отдельном классе, который ограничен UIView.CGRect автоматически изменяет размер после действия
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect drawRect = CGRectMake(20, 262, 139, 169);
[self setFrame:drawRect];
CGContextSetLineWidth(context, 2);
CGContextSetStrokeColorWithColor(context, [[UIColor colorWithRed:125.0f/255.0f green:251.0f/255.0f blue:181.0f/255.0f alpha:1] CGColor]);
CGContextSetRGBFillColor(context, 200.0f/255.0f, 100.0f/255.0f, 100.0f/255.0f, 1.0f);
CGContextFillRect(context, drawRect);
Но после нажатия этого вида размер UIView изменяется на размеры модели интерфейса от моей раскадровки.
Что имеет значение, и что с ним не так?
Autolayout будет моей догадкой. – user3386109
Нет места, где этот код имел бы смысл. Вы не можете вызывать 'UIGraphicsGetCurrentContext' вне' drawRect: 'и вы не должны вызывать' setFrame: 'внутри' drawRect: '. Где вы называете этот код? –
Этот код помещается в функцию '- (void) drawRect: (CGRect) rect' Я пытаюсь снять флажок« Авторезистировать подвид »на родительском представлении (это основной вид в приложении) и попытаться снять флажок на себе UIView, который сделанный указанным выше кодом. –