删除ImageView从SubScrollView在Swift

问题描述:

我有主页滚动查看页面启用..在那我有SubscrollView和ImageView来显示图像..
我想从主滚动视图中删除所选图像..我没有任何想法如何摆脱滚动视图选定的ImageView和删除...这里是我的代码...
删除ImageView从SubScrollView在Swift

func createScroll() 
{ 
    var arrayImage = NSUserDefaults.standardUserDefaults().objectForKey("ImageArray") as NSMutableArray 
    var index = NSUserDefaults.standardUserDefaults().objectForKey("Index") as Int 

    var scroll = UIScrollView(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)) 
    var page = UIPageControl(frame: CGRectMake(0, 0, scroll.frame.size.width, scroll.frame.size.height)) 
    page.numberOfPages = arrayImage.count 
    page.currentPage = 0 
    page.autoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth 

    scroll.contentSize = CGSizeMake(scroll.frame.size.width * CGFloat(arrayImage.count - 1) , 0) 
    scroll.delegate = self 
    scroll.pagingEnabled = true 
    scroll.maximumZoomScale = 6 
    scroll.minimumZoomScale = 0.5 
    scroll.tag = Tags.Tag_MainScroll.rawValue 
    scroll.addSubview(page) 
    view.addSubview(scroll) 
    scroll.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight 
    scroll.contentOffset = CGPointMake(scroll.frame.size.width * CGFloat(index - 1) , 0) 
} 

//MARK: Display Selected Image 
func displayImage() 
{ 
    var mainScroll : UIScrollView = view.viewWithTag(Tags.Tag_MainScroll.rawValue) as UIScrollView 
    var arrayImage = NSUserDefaults.standardUserDefaults().objectForKey("ImageArray") as NSMutableArray 
    var xPosition : CGFloat = 0 
    for i in 1...22 
    { 
     var subScroll = UIScrollView(frame: CGRectMake(xPosition, 0, view.frame.size.width, view.frame.size.height)) 
     subScroll.delegate = self 
     subScroll.maximumZoomScale = 6 
     subScroll.minimumZoomScale = 0.5 
     subScroll.tag = Tags.Tag_SubScroll.rawValue + i 
     mainScroll.addSubview(subScroll) 

     var imgToDisplay : UIImage = UIImage(named: "\(arrayImage[i])")! as UIImage 
     var imgView : UIImageView = UIImageView(frame: CGRectMake((subScroll.frame.size.width - 100)/2,(subScroll.frame.size.height - 100)/2, 100, 100)) 
     subScroll.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height) 
     imgView.image = imgToDisplay 
     imgView.tag = Tags.Tag_imgView.rawValue 
     subScroll.addSubview(imgView) 
     xPosition += subScroll.frame.size.width 
    } 
} 

这里是我的删除功能...

func Delete() 
{ 
    var imgView : UIImageView? = view.viewWithTag(Tags.Tag_imgView.rawValue) as? UIImageView 
    var scroll : UIScrollView = view.viewWithTag(Tags.Tag_MainScroll.rawValue) as UIScrollView 
    for img in scroll.subviews 
    { 
     imgView = img as? UIImageView 
     imgView?.removeFromSuperview() 
    } 
}` 

按我这个代码删除功能为我工作

func Delete() 
{ 
    var imgView : UIImageView? = view.viewWithTag(Tags.Tag_imgView.rawValue) as? UIImageView 
    var scroll : UIScrollView = view.viewWithTag(Tags.Tag_MainScroll.rawValue) as UIScrollView 

    var number : Int = Int(scroll.contentOffset.x/scroll.frame.size.width) 
    var page : UIPageControl = view.viewWithTag(Tags.Tag_page.rawValue) as UIPageControl 
    page.currentPage = number 
    println("\(page.currentPage)") 

    if var array : NSArray = NSUserDefaults.standardUserDefaults().objectForKey("ImageArray") as? NSArray 
    { 
     arrayImage = array.mutableCopy() as NSMutableArray 
    } 
    page.removeFromSuperview() 
    number++ 
    arrayImage.removeObjectAtIndex(number) 
    NSUserDefaults.standardUserDefaults() .setObject(arrayImage, forKey: "ImageArray") 
    println("\(arrayImage[number])") 
    println("\(arrayImage)") 
    NSUserDefaults.standardUserDefaults().synchronize() 
    displayImage() 
} 

具有u tryed这一个..

let subViews = self.scrollView.subviews 
for subview in subViews{ 
    subview.removeFromSuperview() 
} 

HERE是参考