Pregunta

Los últimos días he intentado implementar un visor de fotos en mi aplicación iOS 5.0 en Xcode 4.2. Por proyecto se ejecuta con Contado de referencia automático (ARC). He intentado Viewer de fotos tres20 Pero esto tiene muchas dependencias y es realmente una pieza pesada para incluir en mi proyecto. Siguiente he intentado Egophotoviewer Lo que realmente parece una gran solución para mi propósito, pero lamentablemente no admite ARC y por eso, no puedo compilarlo dentro de mi proyecto.

¿Alguien conoce a un espectador de fotos para iOS que admite ARC, o podría, de alguna manera, agregarse como una biblioteca a un proyecto que se ejecuta con ARC?

¿Fue útil?

Solución

Es posible deshabilitar ARC para archivos individuales agregando el -fno-OBJC-ARC a un archivo.

Para deshabilitar ARC para un archivo Seleccione su proyecto en Xcode 4, vaya a la fases de construcción pestaña, seleccione los archivos que desea deshabilitar para ARC, agregue el -fno-objc-arc indicador del compilador a estos archivos.

Otros consejos

Es posible que desee echar un vistazo a Mwphotobrowser - Puede agregarlo a su proyecto como una biblioteca estática que funcionará independientemente de la configuración de arco de su proyecto.

MWPhotobrowser puede mostrar una o más imágenes proporcionando objetos UIImage o URL a archivos, imágenes web o activos de la biblioteca. El navegador de fotos maneja la descarga y almacenamiento en caché de las fotos desde la web sin problemas. Las fotos se pueden ampliar y crecer, y se pueden mostrar los subtítulos opcionales (personalizables). El navegador también se puede usar para permitir al usuario seleccionar una o más fotos utilizando la vista de la cuadrícula o la vista principal.

MWPhotoBrowser Screenshots

Así es como lo hice:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
  self.startX = scrollView.contentOffset.x;
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
  //NSLog(@"scrollViewDidEndDragging");
  self.endX = scrollView.contentOffset.x;

  self.photoIdx = (int)self.startX / Normalize(1160);

  if (decelerate == FALSE)
  {
    int intoThePhoto = (int)self.photoScrollView.contentOffset.x % Normalize(1160);

    if (intoThePhoto < Normalize(1060/2))
      [scrollView setContentOffset:CGPointMake(Normalize(1160)*self.photoIdx,0) animated:YES];
    else
      [scrollView setContentOffset:CGPointMake(Normalize(1160)*(self.photoIdx+1),0) animated:YES];

  }

}

-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{

  if ((self.endX - self.startX) > 0 && self.photoIdx < ([self.photos count] -1))
    [scrollView setContentOffset:CGPointMake(Normalize(1160)*(self.photoIdx+1),0) animated:YES];
  else if ((self.endX - self.startX) < 0 && self.photoIdx != 0)
    [scrollView setContentOffset:CGPointMake(Normalize(1160)*(self.photoIdx-1),0) animated:YES];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top