私はプログラムで作成されたUIViewサブクラスを持っています。 Autolayoutを使用する私のアプリケーションでは、ポートレートとランドスケープモードがあります。最初にUIViewフレームはinitWithFrameを使用して設定されます。しかし、向きが横向きに変わると、UIViewのCGRectがポートレートモードになってしまいます。UIViewサブクラスにデバイス向きのCGRectを変更するよう警告できますか?プログラムで作成されたデバイス方向のUIViewサブクラスのフレームを変更するにはどうすればよいですか?
誰でも私にこれを助けることができますか?
これは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];
アプリの向きが変わったときの表示のサイズ、右? – vaibhav
@vaibhavはい。UIView CGRectを変更する必要があります。 –
私のansが合うかどうかチェックしてください。 – vaibhav