woozly woozly - 4 months ago 19
Objective-C Question

UIRefreshControl text overlays on refresh-indicator

I start with programming under XCode 5 with iOS 7 SDK. And when I create

UITableViewController
with
UIRefreshControl
with 'attributedText' I've got text overlayed on top of
UIRefreshControl
graphics (circle progress animation).

But when I pull down and release my finger, text jumps to its normal position. Why it happened?

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(updateDeviceList) forControlEvents:UIControlEventValueChanged];
refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Update Devices States"];

self.refreshControl = refreshControl;


Before pulling down to the end:

Before pulling down to the end

After
UIRefreshControl
release:


After UIRefreshControl release

Answer

Please try this.

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
    [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    self.refreshControl = refreshControl;

    dispatch_async(dispatch_get_main_queue(), ^{
        [self.refreshControl beginRefreshing];
        [self.refreshControl endRefreshing];
    });

}