Я знаю, что уже было задано много вопросов, похожих на это.Пожалуйста, не отрицайте или не закрывайте вопрос.Я только что попытался реализовать решения, предоставленные для этих вопросов.Ничто не сработало для меня.И мой случай тоже немного другой.Вот оно:
Мое приложение состоит из галереи изображений.Это вид прокрутки, который отображает фотографии, полученные из базы данных sqlite.Пользователь может прокручивать изображения, добавлять или удалять изображения и т. Д. Я могу динамически добавлять изображение в галерею.Но проблема возникает, когда мне нужно реализовать функцию удаления.Я использую следующий код, но даже после вызова removeFromSuperView
изображение не удаляется из прокрутки.
-(void)deleteDeck{
if(selectedEditDeck!=0){
[deck deleteSelectedDeck:selectedEditDeck]; //deleting from database
//problem starts here ***
[(UIImageView*)[decksGallery viewWithTag:selectedEditDeck-1]removeFromSuperview];
[self loadGallery];
selectedEditDeck=0;
//Ends here*****
[tableData release];
tableData=[NSMutableArray array];
[self showCardNamesinTable];
[aTableView reloadData];
}
Я уже создал uiscrollview в методе loadview.Затем, чтобы обновить представление после каждого удаления и добавления изображений, чтобы я мог отобразить обновленную галерею, я использую следующий фрагмент кода:
-(void)loadGallery{ //Reloading all for adding a single deck image.
//Database part****
NSString *sqlStr = [NSString stringWithFormat:@"select first_card from decksTable"];
char *sql = (char*)[sqlStr UTF8String];
kidsFlashCardAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSMutableArray *galleryImagesArray=[appDelegate.dbConnection fetchColumnFromTable:sql col:0];
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *docDirectory = [sysPaths objectAtIndex:0];
numberofImages = [galleryImagesArray count];
printf("number is %d",numberofImages);//Database part of code ends here
// В следующем фрагменте кода я добавляю изображенияUIscrollView
for (int i = 0; i < [galleryImagesArray count]; i++) {
CGFloat yOrigin = i * 65;
NSString *filePath = [NSString stringWithFormat:@"%@/%@", docDirectory,[galleryImagesArray objectAtIndex:i]];
galleryImage = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin+140, 15,50,50 )];
//galleryImage.tag=[galleryImagesArray count];
galleryImage.tag=i;
printf("THE TAG IS %d",galleryImage.tag);
galleryImage.clipsToBounds=YES;
galleryImage.layer.cornerRadius=11.0;
galleryImage.backgroundColor=[UIColor clearColor];
galleryImage.image =[UIImage imageWithContentsOfFile:filePath];
[decksGallery addSubview:galleryImage];
[galleryImage release];
}
decksGallery.contentSize = CGSizeMake(115*[galleryImagesArray count], 80);
//[decksGallery reloadInputViews];