Изображение перекрывается в программе просмотра фотографий на трехсторонней основе?
Я только что интегрировал просмотрщик фотографий из трех20 фреймворков. Работает нормально, но иногда изображения накладываются друг на друга, что происходит только для изображения thumnail, в то время как исходное изображение отлично загружается. Пока исходное изображение загружено, в этот момент изображения перекрываются.
Кто-нибудь сталкивался с этой проблемой и есть какое-то решение для этого?
Спасибо
2 ответа
Если изображения перекрываются, вы неправильно устанавливаете их размер, когда включаете их в контроллер просмотра фотографий. Вы должны (к сожалению) указать 320 точный размер, чтобы он знал, как отображать их в режиме просмотра прокрутки.
Удостоверьтесь, что вы изменяете размеры своих миниатюр примерно таких же размеров, как у него (где-то около 100 пикселей в высоту или в ширину, в зависимости от того, находится ли он в портретном или альбомном)
[[[MockPhoto alloc]
initWithURL:@"http://farm4.static.flickr.com/3444/3223645618_13fe36887a_o.jpg"
smallURL:@"http://farm4.static.flickr.com/3444/3223645618_f5e2fa7fea_t.jpg"
size:CGSizeMake(320, 480) // see how he sets the size here for each and every photo? this is crucial
caption:@"These are the wood tiles that we had installed after the accident."] autorelease],
Если вы посмотрите на миниатюру, она составляет 67 пикселей на 100 пикселей: http://farm4.static.flickr.com/3444/3223645618_f5e2fa7fea_t.jpg
Если вы посмотрите на обычную фотографию, она составляет 320 пикселей на 480 пикселей.: http://farm4.static.flickr.com/3444/3223645618_13fe36887a_o.jpg
Это два независимых файла, код Three20 не создает для вас миниатюру на основе фотографии большего размера. Вы должны сделать это вручную или создать подкласс любого класса контейнера, который он использует, чтобы сделать это для вас.
Просто установив строку 135 TTPhotoView.m для
self.contentMode = UIViewContentModeScaleAspectFit
поможет.