2011-12-26 15 views
0

やあフォークスこの方法ではiOSのヌルInterface Builderは

...

- (void)configureTableWithTitle:(NSString *)theTitleText about:(NSString *)theAboutText 
{ 
    debug(@"configuring with headerText: %@", theTitleText); 
    debug(@"headerView description: %@", [headerView description]); 
    debug(@"headerText description: %@", [headerText description]); 
    CGPoint titleOrigin = headerText.frame.origin; 
    CGSize titleSize = headerText.frame.size; 
    [headerText setText:theTitleText]; 
    debug(@"headerText: %@", [headerText text]); 
    CGSize newTitleSize = [theTitleText sizeWithFont:[headerText font] constrainedToSize:CGSizeMake(titleSize.width, 9999)]; 
    [headerText setFrame:CGRectMake(titleOrigin.x, titleOrigin.y, titleSize.width, newTitleSize.height)]; 
    int titleDelta = newTitleSize.height - titleSize.height; 
    CGSize titleViewSize = headerView.frame.size; 
    [headerView setFrame:CGRectMake(0, 0, titleViewSize.width, titleViewSize.height + titleDelta)]; 

    [[self tableView] setTableHeaderView:headerView]; 

    debug(@"footerView description: %@", [footerView description]); 
    debug(@"footerText description: %@", [footerText description]); 
    CGPoint aboutOrigin = footerText.frame.origin; 
    CGSize aboutSize = footerText.frame.size; 
    [footerText setText:theAboutText]; 
    CGSize newAboutSize = [theAboutText sizeWithFont:[footerText font] constrainedToSize:CGSizeMake(aboutSize.width, 9999)]; 
    [footerText setFrame:CGRectMake(aboutOrigin.x, aboutOrigin.y, aboutSize.width, newAboutSize.height)]; 
    int aboutDelta = newAboutSize.height - aboutSize.height; 
    CGSize aboutViewSize = footerView.frame.size; 
    [footerView setFrame:CGRectMake(0, 0, aboutViewSize.width, aboutViewSize.height + aboutDelta)]; 

    [[self tableView] setTableFooterView:footerView]; 
} 

仕事footerText & footerViewに作用するが、headerView & headerTextに作用するものがない行オブジェクト。このscreen shotは、私がIBにどのように物事を取り入れるかを示しています。 debug行(Marcus ZarraのNSLogスクリプト)は、headerView & headerTextは、最初から&であることを示しています。headerText.textはnullに設定されています。 eaderファイルには私が持っています...

@interface MFProgramDetailView : UITableViewController <UITableViewDelegate> 
{ 
    UIView *headerView; 
    UIView *footerView; 
    UILabel *headerText; 
    UILabel *footerText; 
    UITableView *detailTable; 
} 

@property (nonatomic, retain) IBOutlet UIView *headerView; 
@property (nonatomic, retain) IBOutlet UIView *footerView; 
@property (nonatomic, retain) IBOutlet UILabel *headerText; 
@property (nonatomic, retain) IBOutlet UILabel *footerText; 
@property (nonatomic, retain) IBOutlet UITableView *detailTable; 

私はこの上に私のheairを引き裂きます。私は&を再チェックしました&は何も見えませんでした。私はそれを同じ方法を使って別のクラスと何度も比較しました(しかし、ヘッダーでジャグリングする項目を持っています)&は違いを見ることができません。

私はこれをどうやって間違っているかについての手がかりを誰でも提供できますか?これが私が何度か何度もやったことだと、親しみが失明してしまった。

乾杯& TIA、 ペドロ

+0

TheTitleTextパラメータを調べて、その値が何であるか確認していますか? –

+0

最初のデバッグ行はそれを行い、期待されるテキストです。 – Pedro

答えて

0

は、どのような方法では、あなたを呼んでください - (空)configureTableWithTitle:程度:方法? あなたはviewDidLoadの後になっていますか?

+0

2つのサブクラスのそれぞれのinitメソッドで呼び出されました。それをviewDidLoadに移動すると修正されました。ありがとう:) – Pedro

関連する問題