Archive for July, 2010

Done Button Issues

I made a quick video here:

Which sums up the issue nicely.  Basically, the notifications which we create in one view affect the entire app, regardless of view.  This means the Done button will appear in all the views, and all the keyboards no matter what.

Edit:

After looking around, I found that if you are running a multiview application and don’t want to have Done Buttons appearing all over the place, you can stop the notifications by adding this:

-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

Some Code For the World

Also titled: One hack to get around UINavigation Controller not supporting orientation changes correctly.

I think this is a well documented bug, discussed here, and here, and here.  Basically, if you are using a UINavigation Controller in your app, the controller completely ignores all of your orientation preferences.  This isn’t an issue if you only use portrait, or if you only use landscape, or if you support both in all your views, but if one of those is false; you’re in trouble.  In MTG Arcanum, Multiplayer (for now) is strictly landscape.  It gives us more room left to right, which I think is important.  I’m working on enhancing Multiplayer, but for now, it’s Landscape.

So, in version 1.2.0, where I include a UINavigation Controller, my app went all wonky.  Multiplayer loaded Portrait, and that did not look good at all.  So, what did I do?  First thing off, in the Multiplayer

- (void)viewDidLoad

I put the line:

[self.navigationController setNavigationBarHidden:YES];

That got rid of the Navigation bar, which was taking up too much room.  But then, instead of using “Push” with the UINavigation Controller, I fell back to some old code to get the new view onto the screen.  One that, you know, respected my orientation preferences.

MultiPlayerViewController *controller = [[MultiPlayerViewController alloc] initWithNibName:@”MultiPlayerView” bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];

Basically, this makes the controller, assigns the delegate back to the view that calls it (which you then use to get rid of the Multiplayer view, as shown in the Utility app), makes the transition, and then shows it.  This causes the Multiplayer view to be loaded in a different way, one that actually correctly orients it.  So now the rest of the app lives with the UINavigation Controller, while Multiplayer is free!  It’s wonderful!

Next Update Coming

The next update of MTG Arcanum is being worked on.  I’ve been busy with some other projects, but those are having some issues, so I decided to concentrate on getting MTG Arcanum of to speed.  There are some things that bug me about the app, mainly I can’t get to the “Tools” menu from Multiplayer.  But that has been changed!!

This new update will allow you to access the tools menu from multiplayer, and I am completely  (more or less) redesigning the home screen.  It now looks much more like the Facebook application, which means when I put in new options, it will be a piece of cake.

Speaking of new options, I’m also finishing up the Game log feature.  This will automatically record the damage dealt in a game to the players, so you can look it over.  It also stores the game logs, so you can look them over after the fact and remember awesome games you’ve had.  Or terrible losses, up to you.  But this next update will really move MTG Arcanum toward the top.

Question for anyone who actually reads this; would you be interested in a dedicated “Tournament” mode?  It would basically be Single Player on Steroids, meant for players using this app in Standard Tournaments.

MTG Arcanum 1.1.0 is Available

Nothing too special, and you already knew it was coming, Apple finally just got around to saying “Oh yeah, this guy can code.”  So now it’s out and you can get the juicy updated awesomeness!  iOS 4 compatibility is really sweet.  Not really.  I mean, unless you have an iPhone 4, you probably won’t even notice a difference.

But, it paves the way for me to get working on the next update… which I already have almost done!!  Some juicy awesome?  I think so.  Mainly fixes that bug me, but hopefully I’ll get something sexy in there for all you.  I’ve done some under the hood changes which make my life easier, and there are some bugfixes and then some usability changes.  Nice stuff, you’ll like it.

Stay tuned!

Return top

A Little about me...

I am a college programmer, going to Rochester Institute of Technology. Instead of spending my summers working in a gas station, I have taken it upon myself to start my own business which I will continue to manage throughout my college years.