Я использую этот код для визуализации UIView в изображениеКак получить UIView, чтобы правильно расположить перед внесением его в изображение
-(UIImage *)getImageForView:(UIView *)aView {
UIGraphicsBeginImageContextWithOptions(aView.bounds.size, NO, 0.0);
[aView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
Вопрос, который я имею, что вид не установлен должным образом используя автозапуск. Что мне делать.
В настоящее время я создаю UIView «viewA» с фреймом, который является правильным размером для моего представления, а затем создайте сложный предполагаемый вид «ViewB» (который имеет автоматическое расположение), а затем добавьте viewB в качестве подзадачи в «viewA «тогда я даю viewA моему методу выше.
Сначала я думал, что viewA не нужно добавлять в какой-либо супервизор, но он не правильно оформлен, должен ли я добавлять viewA с альфой 0 в супервизор, тогда я предполагаю, что может быть использован «layoutIfNeeded», но на каком взгляде я должен это делать?
Edit: Вот код, который создает UIView
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 439)];
//This is the UIView that contains a lot of views
MyView *myView = [[MyView alloc] init];
myView.translatesAutoresizingMaskIntoConstraints = NO;
[view addSubview:myView];
[view addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:[myView(439)]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(myView)]];
[view addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:[myView(320)]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(myView)]];
работало для меня в конце концов
[myView layoutIfNeeded];
[view layoutIfNeeded];
Другими словами, называя его на обоих видах.
Показать код для создания представления и добавления подсмотра. вы устанавливаете рамки? – Wain
Готово. Ждем ваших размышлений. – darbid
Попробуйте: MyView * myView = [[MyView alloc] initWithFrame: view.bounds]; – Wain