ユーティリティビューコントローラ用にiPadまたはiPhoneの.xibファイルをロードする必要がある場合にも同じ問題が発生しました。これはフォームであるため、IBOutletsとしてリンクされたUILabel要素とUITextField要素が多数含まれていました。レイアウト全体を作成し、すべての要素をリンクすると、ビルドして実行するまでは正常に機能していました。私はこのスレッドに投稿されたアドバイスを受け取り、.xibとクラスファイル(IBOutletsを大量にリンクする)の両方を再作成しましたが、成功しませんでした。
問題はこれでした。クラスの実装では、ルートビューを@synthesizedにすることはできません。ベースビューを合成するとすぐに、すべてが真っ暗になりました。「@synthesizeview;」を削除するだけです。ライン、すべてが魅力のように機能しました。ビューコントローラを提示したとき、すべてが再びそこにありました。
すべてのIBOutletsを含むクラスのヘッダーファイルは次のとおりです。
#import <UIKit/UIKit.h>
@interface SignUpFormViewController : UIViewController <UITextFieldDelegate, NSXMLParserDelegate>
@property (strong, nonatomic) IBOutlet UIView *rootView;
@property (weak, nonatomic) IBOutlet UILabel *signUpFormLabel;
@property (weak, nonatomic) IBOutlet UIButton *infoButton;
@property (weak, nonatomic) IBOutlet UILabel *enterEmailLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterEmailTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterPasswordLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterPasswordTextField;
@property (weak, nonatomic) IBOutlet UILabel *reEnterPasswordLabel;
@property (weak, nonatomic) IBOutlet UITextField *reEnterPasswordTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterFirstNameLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterFirstNameTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterLastNameLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterLastNameTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterPhoneNumberLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterPhoneNumberTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterStreetAddressLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterStreetAddressTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterStreetAddress2Label;
@property (weak, nonatomic) IBOutlet UITextField *enterStreetAddress2TextField;
@property (weak, nonatomic) IBOutlet UILabel *enterCityLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterCityTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterStateLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterStateTextField;
@property (weak, nonatomic) IBOutlet UILabel *enterZipLabel;
@property (weak, nonatomic) IBOutlet UITextField *enterZipTextField;
@property (weak, nonatomic) IBOutlet UIButton *backButton;
@property (weak, nonatomic) IBOutlet UIButton *signUpNowButton;
- (IBAction)infoButtonPressed:(id)sender;
- (IBAction)backButtonPressed:(id)sender;
- (IBAction)signUpNowButtonPressed:(id)sender;
@end
ルートビューが合成された実装ファイルは次のとおりです。
#import "SignUpFormViewController.h"
@implementation SignUpFormViewController
@synthesize rootView,signUpFormLabel,infoButton,enterEmailLabel,enterEmailTextField,enterPasswordLabel,enterPasswordTextField,reEnterPasswordLabel,reEnterPasswordTextField,enterFirstNameLabel,enterFirstNameTextField,enterLastNameLabel,enterLastNameTextField,enterPhoneNumberLabel,enterPhoneNumberTextField,enterStreetAddressLabel,enterStreetAddressTextField,enterStreetAddress2Label,enterStreetAddress2TextField,enterCityLabel,enterCityTextField,enterStateLabel,enterStateTextField,enterZipLabel,enterZipTextField,backButton,signUpNowButton,btnDone,btnPrev,btnNext,inputAccView,activeTextField,currentString;
合成されるプロパティのリストから「rootView」を削除するだけで、問題が解決するはずです。iPadとiPhoneの両方のレイアウトの.xibファイルを削除して再作成するよりもはるかに簡単です。
参考までに、ターゲットSDK=6.1でxCode4.6.3を使用しています
これが、この時間のかかる非常に苛立たしい問題を経験している他の人の助けになることを願っています。