我创建了简单的时间表小部件,但是当我尝试在iOS模拟器中测试它时,它会显示类似
的内容时间表[4012:108619]无法从3965继承CoreMedia权限:( null)
小部件没有显示出来。 这是我的代码。
#import "TodayViewController.h"
#import <NotificationCenter/NotificationCenter.h>
@interface TodayViewController () <NCWidgetProviding, UITableViewDataSource, UITableViewDelegate>
@end
@implementation TodayViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TableCell"];
return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 7;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)widgetPerformUpdateWithCompletionHandler:(void (^)(NCUpdateResult))completionHandler {
// Perform any setup necessary in order to update the view.
// If an error is encountered, use NCUpdateResultFailed
// If there's no update required, use NCUpdateResultNoData
// If there's an update, use NCUpdateResultNewData
completionHandler(NCUpdateResultNewData);
}
@end
答案 0 :(得分:1)
该消息一直出现在今天的小部件中,通常并不表示任何内容确实存在错误。除非您遇到某些您未提及的问题,否则请忽略它。
您的小部件未显示您的代码的原因并不能说明您需要多少空间。您需要设置self.preferredContentSize
。使用窗口小部件中的表视图,您通常会执行以下操作:
self.preferredContentSize = CGSizeMake(self.preferredContentSize.width, self.objects.count * 44.0);
将self.objects
替换为您用于表格数据的任何数组,并将44替换为您的单元格高度。
您的代码使用了7行,这可能太多了。有关原因的讨论,请参阅Issue in Widgets in landscape mode。
答案 1 :(得分:0)
Swift 4版本:
preferredContentSize = CGSize(width: preferredContentSize.width,
height: CGFloat(objects.count) * 44.0)