유틸리티보기 컨트롤러에 iPad 또는 iPhone .xib 파일을로드해야하는 것과 동일한 문제가있었습니다. IBOutlets로 링크 된 많은 UILabel 및 UITextField 요소가 포함 된 양식입니다. 전체 레이아웃을 구성하고 모든 요소를 연결하면 구축하고 실행할 때까지 제대로 작동합니다. 나는이 글에 게시 된 조언을 받아서 .xib 파일과 클래스 파일 (IBOutlets를 많이 연결)을 다시 만들었습니다. 성공하지 못했습니다.
문제는 이것입니다. 루트 뷰는 클래스 구현시 @synthesized 될 수 없습니다. 기본보기를 합성하자마자 모든 것이 검은 색으로 변했습니다. 단순히 "@synthesize view;"를 제거하면됩니다. 모든 것이 매력처럼 작동했습니다. 내 View Controller를 제시 할 때 모든 것이 다시 존재했습니다.
#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"를 제거 : 여기
#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
합성되는 루트보기 구현 파일입니다 : 여기
는 IBOutlets 모두와 클래스의 헤더 파일입니다 합성중인 속성 목록에서이 문제를 해결해야합니다. iPad와 iPhone 레이아웃 모두에 대한 .xib 파일을 삭제하고 다시 작성하는 것보다 훨씬 쉽습니다. 참고로 내가 목표 SDK와 엑스 코드 4.6.3을 사용하고
= 6.1
는 I는이 시간과 매우 실망 문제를 경험하는 다른 사람을 도움이되기를 바랍니다.
DataInputViewController 내부에서 loadView 함수를 구현 했습니까? – Niko
XIB 파일에서 데이터 입력보기 컨트롤러를 보면 해당 XIB의 루트 요소로 UIView가 있다고 추측합니다. 파일의 소유자보기가 해당 루트 요소에 연결되어 있는지 확인하십시오. (이 경우에는 경고 또는 오류가 발생할 것이라고 생각했지만 잘못된 것일 수 있습니다. 버튼을 누른 후에 콘솔에 오류나 경고가 표시되지 않습니까?) –
프로젝트로 이동> 빌드 Phases> 번들 리소스를 복사하고 xib 파일이 있는지 확인하십시오. –