У меня есть scrollView, и я добавил в него refreshcontroll.Swift remove subviews from superview
self.refreshControl = UIRefreshControl()
self.refreshControl.attributedTitle = NSAttributedString(string: "Frissítéshez húzzad! :)")
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.scrollView.addSubview(refreshControl)
в методе обновления я должен удалить все подвидов из Scrollview, затем заселить Scrollview ..
self.refreshControl = UIRefreshControl()
self.refreshControl.attributedTitle = NSAttributedString(string: "Frissítéshez húzzad! :)")
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.scrollView.addSubview(refreshControl)
после того, как я пытаюсь вытащить мой Scrollview получить новые данные, но это не имеют больше refreshcontroll. Я думаю, это потому, что, когда я удаляю subviews из моего scrollview, я также удаляю refreshcontroll из него. (если я снова добавлю refreshcontroll в мой метод обновления, у моего scrollview снова будет refreshconroll). Но есть и другая проблема. После обновления моего Scrollview двигаться вниз .. я прилагается к изображениям:
Это, как я удалить subiews:
func refresh(sender:AnyObject)
{
//remove all subviews from scrollview..
let subViews = self.scrollView.subviews
for subview in subViews{
println("for removing...")
subview.removeFromSuperview()
}
println("refresh called..")
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
//remove all elements from the array
tstFrames.removeAll(keepCapacity: false)
//refresh data from webservice and adding it to tstFrames Array
wsServiceFeedTst()
//adding items to the scrollview from tstFramesArray
addPosts()
self.refreshControl.endRefreshing()
}
Это как Scrollview выглядеть перед обновлением:
это как это выглядит после обновления:
Может кто-нибудь помочь мне в том, почему это движение вниз?
Спасибо!
Спасибо, это решение:
let subViews = self.scrollView.subviews
for subview in subViews{
println("for removing...")
if (subview is PostLineItem) {
subview.removeFromSuperview()
}
else {
println("not removing..")
}
}
Не могли бы вы опубликовать код, используемый для удаления подсмотров? –
Я спрашиваю, потому что вы можете удалить оба контроллера обновления и ограничения макета ... –
спасибо! проверьте мой обновленный вопрос .. являются ли ограничения макета также subviews? :) – solarenqu