" * -[PlayingCell layoutSublayersOfLayer:]、/SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776 2013-11-01 18:44:12.526 SnapTrack[216:c07] でのアサーションの失敗 *キャッチされない例外によるアプリの終了 ' NSInternalInconsistencyException'、理由: '-layoutSubviews の実行後も自動レイアウトが必要です。PlayingCell の -layoutSubviews の実装は、super を呼び出す必要があります。'"
iOS6 シミュレーターで自分のアプリ (iOS7 用に設計したもの) を実行しようとしています。私のプロジェクトには TabBarController が含まれています。tabbarcontroller の最初のビュー コントローラーには、カスタム UITableViewCell を含むテーブル ビューがあります。問題なくロードされます。ただし、カスタムセルを使用して別のテーブルビューがある別のタブに切り替えると、上記のエラーが表示されます。viewController はほぼ同じように設定されています (どちらも自動レイアウトで編成されたサブビューを持っています)。誰もこの例外を見たことがありますか/対処方法を知っていますか?
ありがとう!
編集: PlayingCell のコード。
#import <UIKit/UIKit.h>
@interface PlayingCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *lblTrackNum;
@property (strong, nonatomic) IBOutlet UIImageView *albumArt;
@property (strong, nonatomic) IBOutlet UILabel *lblSongTitle;
@property (strong, nonatomic) IBOutlet UILabel *lblAlbumTitle;
@property (strong, nonatomic) IBOutlet UILabel *lblArtist;
@property (strong, nonatomic) IBOutlet UIImageView *imgPlay;
@property (strong,nonatomic) NSMutableDictionary *songInfo;
- (IBAction)downloadBtnPressed:(id)sender;
@end
#import "PlayingCell.h"
@implementation PlayingCell
@synthesize songInfo;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (IBAction)downloadBtnPressed:(id)sender
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[songInfo objectForKey:@"trackViewUrl"]]];
NSLog(@"%@",[songInfo objectForKey:@"trackViewUrl"]);
}
-(void)layoutSubviews
{
[super layoutSubviews];
}