I'm creating my views programmatically. I have a UITableView
in my UIViewController
subclass that I want to add a scrolling subview to that is not a cell. I want to add some text-based subview to the UITableView
that scrolls with the table and starts out above y=0 so the user will only see it if he pushes the table down. That is, it should reside above the first section of my table. If it helps for visualization, I intend to make something similar to those "scroll down to refresh" features and want some indication to the user that scrolling down causes a refresh. Is there any way to do this without something messy like using another UITableViewCell
to represent it or abusing the UITableView
delegate methods to move a view around whenever the user scrolls?
Simply using [tableView addSubview:]
in my viewWillLoad
only makes it appear for a split-second then disappear once the table data is loaded. This seems weird to me because UITableView
is a subclass of UIScrollView
, which is meant to hold other views in it. Using [tableView.backgroundView addSubview]
does nothing.
PS Why not use a UIRefreshControl
for this? I'm still undecided but leaning towards not using one because I don't like how slow that spinning wheel "feels" when the refreshes are usually very very quick. I've been looking at other options like flashing the background subtly and only showing a wheel if it's taking a longer time than usual.
I You can implement pull to refresh with only a table view
To do this using the scroll view delegate, since tableview is a subclass of scroll view.
Set view controller to be the tableview delegate and implement
When scrollview content offset y value passed a point, add a label to the viewcontroller.view not tableview. When you scroll back or release, remove the view.
You might also be able to add label to the table view and set the frame origin to negative y value, so when you pull the label will move into view (Never tested this do might not work)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.