1

シンプルな時刻表ウィジェットを作成しましたが、iOS シミュレーターでテストしようとすると、次のように表示されます

timetable[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
4

2 に答える 2

1

そのメッセージは今日のウィジェットで常に表示され、通常、実際に何か問題があることを示していません。言及していない問題が発生している場合を除き、無視してください。

ウィジェットが表示されない理由は、コードが必要なスペースを示していないことです。を設定する必要がありますself.preferredContentSize。ウィジェットのテーブル ビューでは、通常、次のようなことを行います。

self.preferredContentSize = CGSizeMake(self.preferredContentSize.width, self.objects.count * 44.0);

テーブル データに使用している配列に置き換えself.objects、44 をセルの高さに置き換えます。

あなたのコードは 7 行を使用していますが、これはおそらく多すぎます。理由については、横向きモードのウィジェットの問題を参照してください。

于 2015-02-04T23:00:17.950 に答える