作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经将 UIRefreshControl 实现为 UITableViewController 上刷新控件的一部分 - 一切似乎都正常工作 - 如果你下拉页面拉回数据 - 但我注意到事件指示器没有出现在 View 中。
经过一些调查后,我意识到问题似乎与我应用到 UiTableViewController 的背景图像有关 - 如果我禁用它,事件指示器会按预期显示。
我的设置如下 - 我扩展了一个 UITableViewController 类以创建一个名为 BG_Blur_TableViewController 的新类 - 这个类基本上通过以下代码应用背景图像 -
BG_Blur_TableViewController.m -(无效)viewDidLoad { [ super viewDidLoad];
self.prefs = [NSUserDefaults standardUserDefaults];
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:[self.prefs stringForKey:@"BGImageBlur"]]];
}
然后我在我的 UITableViewController 中使用这个类,如下所示 -
Article_HP_TableViewController.h
#import <UIKit/UIKit.h>
#import "BG_Blur_TableViewController.h"
#import <MobileCoreServices/MobileCoreServices.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import "AFNetworking.h"
@interface Article_HP_TableViewController : BG_Blur_TableViewController<NSFetchedResultsControllerDelegate>
@property NSArray *articleArray;
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@end
我在这个方法中应用刷新控件 -
- (void)viewDidLoad
{
[super viewDidLoad];
self.prefs = [NSUserDefaults standardUserDefaults];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
//self.tableView.contentInset = UIEdgeInsetsMake(50, 50, 50, 50);
// Initialize Refresh Control
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
// Configure Refresh Control
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
// Configure View Controller
[self setRefreshControl:refreshControl];
并用这个删除它 -
- (void)refresh:(id)sender {
NSLog(@"Refreshing");
// End Refreshing
[(UIRefreshControl *)sender endRefreshing];
}
我是否可以应用刷新控件使其显示在 bgimage 之上?
最佳答案
尝试改变刷新控件的zPosition
。你应该收到类似的东西:
_refreshControl = [[UIRefreshControl alloc] init];
[_refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[_ tableView setRefreshControl:_refreshControl];
_refreshControl.layer.zPosition += 1;
关于ios - UITableView - 带有背景图片的 UIRefreshControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429412/
我是一名优秀的程序员,十分优秀!