The Crash:
-[UIImageView setParentViewController:]: unrecognized selector sent to instance 0x58701e * Termintating app due to uncaught execption 'NSInvalidArgumentExecption', reason: '-[UIImageView setParentViewController:]: unrecognised selector sent to instance 0x58701e0'
This occurs when I'm trying to push a custom UIViewController that is made without IB.
When I do this with IB it works but it's not exactly what I need.
What is being called for my delegate
-(void)switchToTrailerOne
{
CGsize screenSize = [UIScreen mainScreen].bounds.size;
CGRect screenBounds = CGRectMake(0, 0, ScreenSize.width, screenSize.height);
TrailersViewController *trailersController = [[TrailersViewController alloc] initWithFrame:screenBounds];
[self.navController pushViewController:trailersController animated:NO]; (Crashes on this line)
[trailersController gotoFirstTrailer];
}
Ask me about any other code that looks as I'm almost never away from a comp for more then an hour at a time.
Edit: The files are a bit long any particular sections you're interested in? I'll post a few canidates that I find likely...
-(void)loadView{
CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGRect screenBounds = CGRectMake(0, 0, screenSize.width, screenSize.height);
myTrailersView = [[UIImageView alloc] initWithFrame:screenBounds];
myTrailersView.autoresizesSubviews = YES;
self.view = myTrailersView;
}
//Initiation Method
- (void)viewDidLoad {
[super viewDidLoad];
//self.myTrailersView.frame = self.view.frame;
//Turn User Interaction ON - UI Image Views are Off By Default
myTrailersView.userInteractionEnabled = YES;
//Set Position Counters to starting values
currentNode = 0;
currentPosition = 0;
//Allocate the Node Collection
nodeCollection = [NodeSet alloc];
//Copy the Node Collection to the Receiver Array
nodeArray = nodeCollection.createNodeList;
//Done With Node Collection Release it
[nodeCollection release];
//
//Create the button that launches the cutaway view
//
UIBarButtonItem *rotationButton = [[UIBarButtonItem alloc] initWithTitle:@"Cutaway View"
style:UIBarButtonItemStylePlain
target:self
action:@selector(gotoRotationView)];
self.navigationItem.rightBarButtonItem = rotationButton;
[rotationButton release];
////////Setup the Swipe Forward Recognizer////////
UISwipeGestureRecognizer *recognizerUp;
recognizerUp = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizerUp setDirection:(UISwipeGestureRecognizerDirectionUp)];
[myTrailersView addGestureRecognizer:recognizerUp];
[recognizerUp release];
////////Setup the Swipe Backward Recognizer////////
UISwipeGestureRecognizer *recognizerDown;
recognizerDown = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeFrom:)];
recognizerDown.direction = UISwipeGestureRecognizerDirectionDown;
[myTrailersView addGestureRecognizer:recognizerDown];
[recognizerDown release];
////////Setup the Swipe Left Recognizer////////
UISwipeGestureRecognizer *recognizerLeft;
recognizerLeft = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeFrom:)];
recognizerLeft.direction = UISwipeGestureRecognizerDirectionLeft;
[myTrailersView addGestureRecognizer:recognizerLeft];
[recognizerLeft release];
////////Setup the Swipe Right Recognizer////////
UISwipeGestureRecognizer *recognizerRight;
recognizerRight = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeFrom:)];
recognizerRight.direction = UISwipeGestureRecognizerDirectionRight;
[myTrailersView addGestureRecognizer:recognizerRight];
[recognizerRight release];
}
- (id)initWithFrame:(CGRect)frame {
self = [super.view initWithFrame:frame];
return self;
}
It's appears as if you're trying to push a custom
UIView
rather than a customUIViewController
. Check theTrailersViewController
class hierarchy.