J'ai une sous-classe UIView qui est créée par programmation. J'ai le mode portrait et paysage dans mon application qui utilise Autolayout. Initialement, le cadre UIView est défini à l'aide de initWithFrame.But lorsque l'orientation devient paysage, le CGRect de UIView est bloqué avec le mode portrait. Comment puis-je alerter la sous-classe UIView pour changer l'orientation CGRect sur l'appareil?Comment modifier le cadre d'une sous-classe UIView sur l'orientation du périphérique qui est créée par programme?
Quelqu'un peut-il m'aider?
Ceci est mon code de configuration de trame initiale pour le UIView:
- (id)initWithFrame:(CGRect)frame videoUrl:(NSURL *)videoUrl{
self = [super initWithFrame:frame];
if (self) {
_frame_width = frame.size.width;
int thumbWidth = ceil(frame.size.width*0.05);
_bgView = [[UIControl alloc] initWithFrame:CGRectMake(thumbWidth-BG_VIEW_BORDERS_SIZE, 0, frame.size.width-(thumbWidth*2)+BG_VIEW_BORDERS_SIZE*2, frame.size.height)];
_bgView.layer.borderColor = [UIColor grayColor].CGColor;
_bgView.layer.borderWidth = BG_VIEW_BORDERS_SIZE;
[self addSubview:_bgView];
vous devez changer le cadre taille de la vue lorsque l'application change d'orientation, non? – vaibhav
@vaibhav oui.Je dois changer le CGRect UIView. –
check my ans if suits – vaibhav