Apenas um desses subviews está a ser apresentado
-
21-12-2019 - |
Pergunta
Eu estou passando 2 imageviews para a próxima exibição usando um segue e apenas uma das imagens está sendo mostrado.Eu não consigo encontrar uma solução para isso em qualquer lugar.
Código para a segue:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqual:@"CloudyBlue"]) {
Level1_4inch_White *dest = [segue destinationViewController];
CloudyBlue.frame = CGRectMake(78, 277, 139, 100);
CloudyBlue1.frame = CGRectMake(363, 277, 139, 100);
[dest.view addSubview:CloudyBlue];
[dest.view addSubview:CloudyBlue1];
}
}
ATUALIZAÇÃO:Como um dos comentários, aqui está o que Ele se parece:Não é suposto ser o outro olho à esquerda.
EDITAR:
@interface WeatherEyeViewController_4inch_White : UIViewController {
IBOutlet UIImageView *CloudyBlue;
IBOutlet UIImageView *CloudyBlue1;
}
Eu descobri!Em vez de criá-lo como acima.Eu criá-los como esta, e que funciona!
UIImageView *CloudyBlue = [[UIImageView alloc] initWithFrame:CGRectMake(78, 277, 139, 100)];
UIImageView *CloudyBlue1 = [[UIImageView alloc] initWithFrame:CGRectMake(363, 277, 139, 100)];
[CloudyBlue setImage:[UIImage imageNamed:@"Cloudy-Eye-Blue.png"]];
[CloudyBlue1 setImage:[UIImage imageNamed:@"Cloudy-Eye-Blue.png"]];
Solução 2
Eu descobri!Em vez de criá-lo como acima.Eu criá-los como esta, e que funciona!
UIImageView *CloudyBlue = [[UIImageView alloc] initWithFrame:CGRectMake(78, 277, 139, 100)];
UIImageView *CloudyBlue1 = [[UIImageView alloc] initWithFrame:CGRectMake(363, 277, 139, 100)];
[CloudyBlue setImage:[UIImage imageNamed:@"Cloudy-Eye-Blue.png"]];
[CloudyBlue1 setImage:[UIImage imageNamed:@"Cloudy-Eye-Blue.png"]];
Outras dicas
Não hardcore quadros usando CGRectMake
.Em vez disso, você deve ajustar os quadros no storyboard, ou, ao invés, configuração de frames, especificando a auto-layout restrições.Utilizando auto-layout de sua opinião vai mudar é adequado quando a interface é girado.