views:

57

answers:

1

Hi, I know some have already asked the question but so far, the answers are not really specific.

Aparently apple have made the clic area of the NavigationBar larger than it really is, but I don't think it's supposed to be that large.

In my app, there is a TableView right underneath the NavBar and you can clic all the way down to half of the first cell to trigger the event of the rightBarButtonItem. the button is instanced like this:

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTable)];

[[self navigationItem] setRightBarButtonItem:editButton];

"self" is the root ViewController of a NavigationController.

As you could imagine, it's a problem since the cells are selectable to push another ViewController.

I managed to go around the problem by making the cells' height bigger but I'd rather have them at the regular size.

I'm sure I'm not the only one with this case of scenario. Thanks in advance.

A: 

You can't do much about the touch area. It's all based on how much finger area is picked up by the display. You can calculate size of touch area (warning: undocumented api) but intercepting touch events and calling a method to correct for fat finger syndrome seems a bit over-the-top.

Basic process is:

  1. You touch screen
  2. Change of capacitance is measured in a unique, individualized portion of the screen and sent to hardware/software to interpret (just as an aside, Apple's patent states as many as 15 touches can be tracked at once.. 10 fingers, two palms, and 3 others in case you ever make an iPhone "Twister" game)
  3. Software interprets gradients in capacitance on screen and identifies touch boundaries
  4. Software calculates centroid of touch based on the average capacitance magnitude for each pixel or point in the region
  5. Software sends coordinates of touch boundary locations into application
  6. Your app interprets as a touch event, it gets sent along the responder chain, and (hopefully) the user see's the touch on the screen
iWasRobbed
I find it a little weird though. Being able to clic all the way down to half of the 1st cell and trigger the rightBarButton is not really helping fat fingers because fat fingers only have half of this cell to trigger it. Anyway, thanks for the info.
DEIONaLiMs
Yeah it's not a perfect system, but there are situations like this everywhere that you just have to find small workarounds for.
iWasRobbed