Pergunta

eu criei UIImageView com a ajuda da interface Bulder. Agora eu quero colocar a etiqueta dentro dela (como sua subview). No código, posso digitar algo como: [myUIImageView addSubview:myUILabel]; Mas posso fazer isso com a ajuda do IB? Eu encontrei a solução para UIView, mas não consigo encontrar algo semelhante para UIImageView.

Foi útil?

Solução

Você não pode adicionar uma subview ao UIImageView no interface Builder por razões conhecidas apenas pela Apple! Você está certo ao dizer que pode adicionar programaticamente, mas, em seguida, a sobrecarga de definir máscaras e colocações de sub -visualizações automaticamente devem ser tratadas no código, o que é complicado.

Portanto, há uma solução alternativa fácil. Em vez de arrastar uma instância do UIImageView na ponta, basta arrastar um UIView e alterar sua classe para UIImageView do UIView (opção CMD+4 do inspetor). A única diferença que você encontra na Instância do NIB para o ImageView padrão e sua nova instância de subclasse UIImageView é: você não pode definir a imagem para o seu novo ImageView da NIB (opção CMD+1). Então, no -viewDidLoad Método de seu ViewController apropriado, defina a imagem para esta saída do UIImageView.

Ao fazer isso, você é livre para adicionar subviews às suas instâncias "agora UiImageView" no interface Builder, o que é muito fácil.

Espero que isto ajude . . .

Outras dicas

Eu gostaria de adicionar resposta.

Enquanto é uma merda, você não pode adicionar subview a UIImageView, você pode obter o mesmo efeito incorporando UIView com fundo transparente (cor clara).

Então coloque o UIImageview Antes disso.

Então o UIView tem as subvisões e o UIImageview é o fundo do UIView.

Eu acho que essa é a intenção da Apple.

Aqui está uma captura de tela:

enter image description here

Aqui está o resultado:

enter image description here

Não se esqueça de definir um fundo como uma cor clara

enter image description here

Agora, se alguém pudesse me indicar um tutorial de como fazer isso, será ótimo. Passei horas fazendo isso da maneira respondida. A resposta verificada é uma resposta fina, mas muito inintiva, porque você não pode ver sua imagem de fundo claramente enquanto trabalha. Eu acho que o meu é a maneira correta de fazê -lo.

No último Xcode (4.5), há uma opção para arrastar e soltar os controles necessários para o pai.

É muito fácil. Tiro de tela anexada para o mesmo. Eu arrastei o rótulo/campo de texto e o botão para UiImageViewenter image description here

Use este código:

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

(substituir background.png com imagem) (substituir AtIndex: 0 Com qualquer lugar na raiz .INDEX, você deseja inserir a imagem e você desligado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top