私は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
このコードが意味をなす場所はありません。 'drawRect:'の外で 'UIGraphicsGetCurrentContext'を呼び出すことはできず、' drawRect: 'の中で' setFrame: 'を呼び出さないでください。このコードをどこで呼びますか? –
このコードは関数内に配置されています ' - (void)drawRect :(CGRect)rect' 親ビュー(アプリケーションのメインビュー)で「Autoresize subviews」チェックボックスをオフにして、UIViewのチェックボックスをオフにします。上記のコードで酔っ払っている。 –