Pergunta

Eu sou novo para o desenvolvimento MonoTouch e iPhone. Eu tenho minhas imagens (PNG) em um dos recursos pasta no MonoDevelop, no entanto, se eu quiser definir a propriedade imagem de um botão no Interface Builder, como posso fazer isso? É sempre uma lista suspensa em branco. Preciso usar XCode para acessar o arquivo XIB e, em seguida, de alguma forma incorporar o arquivo de imagem botão Vou precisar nele?

Foi útil?

Solução

Esta é uma limitação conhecida do MonoDevelop e Interface Builder . Para adicionar imagens para um XIB no Interface Builder eles devem ser parte de um projeto de XCode, o que naturalmente vem de MonoDevelop eles não são.

Para conseguir o que você está tentando fazer você precisará definir a imagem por meio de código, e garantir a ação de compilação de sua imagem está definida para conteúdo. Para fazer isso, simplesmente clique direito sua imagem dentro MonoDevelop e selecione Build Action> Conteúdo.

No seu ponto de vista com o botão sobre ele, criar uma saída no Interface Builder para o seu botão, ligá-lo, em seguida, a partir do código para definir a sua imagem, você só precisa usar o .FromFile ( "path / nome") método de UIImage.

UIImage buttonImage = UIImage.FromFile ("resources/image.png");
myButton.SetBackgroundImage (buttonImage,UIControlState.Normal);

Isso é em cima da minha cabeça, mas eu acho que deve fazê-lo.

Outras dicas

Você pode configurar manualmente a imagem em Interface Builder, mas ele não vai aparecer até tempo de execução. O nome da imagem pode incluir um caminho, por exemplo "Images / settings.png".

Todas as soluções dadas aqui são completamente errada e enganosa. Tudo que você precisa fazer, é colocar suas imagens na pasta de recursos (na raiz do projeto), e adicionar suas imagens para esta pasta. Depois de adicionar arquivos para esta pasta, marcar todos os arquivos e certifique-se a sua ação de compilação está definida para BundleResource.

Eu também precisava disso para o trabalho, aqui está uma solução alternativa que eu encontrei. Você precisa criar um projeto fictício xcode. Coloque-o na mesma pasta que o seu projeto. Adicionar todos os seus arquivos xib e arquivos de imagem para o projeto Xcode arrastando-os quando o projeto é aberto no Xcode. Agora você será capaz de ver a pré-visualização das imagens. Os arquivos de imagem deve estar na mesma pasta que o arquivo de projeto e Xcode deve ser aberto com o projeto fictício enquanto o construtor de interface é aberta. Não grande - mas resolve o problema por agora. Aqui é um projeto de exemplo que eu criei.

Para que esta questão seja resolvida no lado MonoDevelop - algumas necessidades código de comunicação inter-processo a ser criado, eu acho que um bom ponto de partida vai estar à procura de "PBXProjectWatcherServerConnection-3.1.2" no google

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