Pergunta

Estou apenas tentando planejar uma nova app...Eu quero ter uma série de imagens que um usuário pode arrastar e soltar onde eles querem.

Eu estou pensando que vou ter uma matriz (NSMutableArray) de todas as imagens.quando o aplicativo é carregado, ele vai chamar-los de uma barra de deslocamento a uiview...em seguida, o app vai saber o que um usuário pressionou e arrastado para o modo de exibição principal.

Eu posso código é então, uma imagem pode ser arrastada, mas eu não tenho certeza de como aplicar o mesmo código para um número n de imagens.Por exemplo, no meu ponto de vista controlador, eu IBOutlet UIImage *image que no IB posso ligar e controlo....mas como fazer para mudar isto para aplicar para um número qualquer de imagens?

Eu tentei procurar para isso todas as manhãs, mas não tive muita sorte.

Eu estou pensando que eu preciso para aplicar uma classe para cada imagem como eu desenhe-para fora da matriz.Eu sou apenas depois de um pouco de conselhos aqui realmente - talvez me apontar na direção certa?

Obrigado por qualquer informação!!

Foi útil?

Solução

Primeiro, você precisa logicamente separados de seus dados, neste caso, imagens, dos pontos de vista que eles são exibidos.Para a exibição e a posição imagens que você colocá-los UIImageViews.As imagens devem ser armazenados em algum tipo de estrutura de dados de exemplo:matriz, dicionário de dados, banco de dados etc.Em seguida, você deve carregá-los em um ou mais UIImageViews conforme necessário.

Se você tem um altamente variável número de elementos de interface, é melhor para criar a variável de elementos através de programação.No seu caso, você poderia fio no Interface Builder os elementos fixos, como o scrollview.Em seguida, quando você precisava para adicionar uma imagem que você inicializar um UIImageView com um quadro de posicionamento-lo onde você quiser no scrollview.Em seguida, você deve definir o UIImageView propriedade da imagem para a imagem que você deseja.Em seguida, você deve adicionar a imagemver para o scrollview como uma visualização secundária.

Se você precisa controlar o imagemver você deve criar uma propriedade para encerrar, exibir e atribuir a cada adicionado imagemver em volta.Desta forma você se concentrar métodos específicos sobre o selecionado imageView.

Você precisa estar ciente de que o acompanhamento toca em um UIScrollView pode apresentar desafios porque o scrollView tem para interceptar todos os toques para ver se ele precisa para se deslocar.

Outras dicas

Matt Facer acabou de postar uma pergunta que inclui mais ou menos o código que você está falando.

Uiimage Detectando toque e arrastando

A resposta curta é que você não cria os UIImages no IB. Você criará o programaticamente e os adicionará à visão principal conforme necessário. O evento Uitouch pode ser usado para determinar a visão que foi tocada.

Provavelmente não há necessidade de uma matriz aqui; um NSMutableSet Faz mais sentido, a menos que haja algum motivo especial para preservar a ordem.

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