开发者

UIImageView subclass with CGRectIntersectsRect - help!

The title of this question should be pretty self explanatory. I am making an app that involves multiple UIImageViews that serve the same purpose. They are merely different sizes. Anyway, I decided that the best solution was to make UIImageView subclasses, link the subcalsses in IB, and work from there. My code should explain this better -



#define kPausedStatePaused 1
#define kPausedStatePlay 2

#import "Game.h"
#import "ScoreSystem.h"

@interface Doctor : UIImageView
{
}
@end

@interface Ground : UIImageView
{
}
@end

@interface Wall : UIImageView
{
}
@end

@interface Electric_Wire : UIImageView
{
}
@end


@implementation Game

/*
 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad 开发者_Python百科{
    [super viewDidLoad];
}
*/

- (IBAction)pause {
 UIAlertView *pause = [[UIAlertView alloc] initWithTitle:@"Pause" message:nil delegate:self cancelButtonTitle:@"Quit" otherButtonTitles:@"Play", nil];
 [pause show];
 [pause release];
 pauseint = kPausedStatePaused;
}

- (void)viewDidAppear {
 pauseint = kPausedStatePlay;
}

- (void)loop {
 Doctor *doctorview;
 Ground *groundview;
 if (CGRectIntersectsRect(doctorview, groundview)) {

 }
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
 if ([alertView.title isEqual:@"Pause"]) {
  if(buttonIndex == 0)
   [self dismissModalViewControllerAnimated:YES];
  pauseint = kPausedStatePlay;
 }
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

- (void)didReceiveMemoryWarning {
 // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

 // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
 // Release any retained subviews of the main view.
 // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}


@end

Unsurprisingly, Xcode gave me an "incompatible type for CGRectIntersectsRect" error.


You must pass view's frame, not the view's themselves to that function:

CGRectIntersectsRect(doctorview.frame, groundview.frame)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜