Skip to content

Commit

Permalink
* Don't hard-code the height of status bar - ask OS for it so that pr…
Browse files Browse the repository at this point in the history
…esence of in-call status bar is considered
  • Loading branch information
joehewitt committed Aug 3, 2009
1 parent 917c195 commit f56fe8f
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 12 deletions.
9 changes: 8 additions & 1 deletion src/TTGlobal.m
Expand Up @@ -75,6 +75,14 @@ CGRect TTToolbarNavigationFrame() {
return CGRectMake(0, 0, frame.size.width, frame.size.height - TT_ROW_HEIGHT*2);
}

CGFloat TTStatusHeight() {
return [UIScreen mainScreen].applicationFrame.origin.y;
}

CGFloat TTBarsHeight() {
return [UIScreen mainScreen].applicationFrame.origin.y + TT_ROW_HEIGHT;
}

CGRect TTRectContract(CGRect rect, CGFloat dx, CGFloat dy) {
return CGRectMake(rect.origin.x, rect.origin.y, rect.size.width - dx, rect.size.height - dy);
}
Expand All @@ -87,7 +95,6 @@ CGRect TTRectInset(CGRect rect, UIEdgeInsets insets) {
return CGRectMake(rect.origin.x + insets.left, rect.origin.y + insets.top,
rect.size.width - (insets.left + insets.right),
rect.size.height - (insets.top + insets.bottom));

}

void TTNetworkRequestStarted() {
Expand Down
2 changes: 1 addition & 1 deletion src/TTPhotoView.m
Expand Up @@ -122,7 +122,7 @@ - (void)layoutSubviews {
CGFloat cy = self.bounds.origin.y + height/2;

BOOL portrait = self.width == width;
CGFloat marginRight = portrait ? 0 : TT_CHROME_HEIGHT;
CGFloat marginRight = portrait ? 0 : TTBarsHeight();
CGFloat marginLeft = portrait ? 0 : TT_ROW_HEIGHT;
CGFloat marginBottom = portrait ? TT_ROW_HEIGHT : 0;

Expand Down
4 changes: 2 additions & 2 deletions src/TTPostController.m
Expand Up @@ -256,7 +256,7 @@ - (void)showInView:(UIView*)view animated:(BOOL)animated {
}

if (!CGRectIsEmpty(originRect)) {
_textEditor.frame = CGRectOffset(originRect, 0, -TT_STATUS_HEIGHT);
_textEditor.frame = CGRectOffset(originRect, 0, -TTStatusHeight());
} else {
[self layoutTextEditor];
_textEditor.transform = CGAffineTransformMakeScale(0.00001, 0.00001);
Expand Down Expand Up @@ -391,7 +391,7 @@ - (void)dismissWithResult:(id)result animated:(BOOL)animated {
[UIView setAnimationDidStopSelector:@selector(dismissAnimationDidStop)];

if (!CGRectIsEmpty(originRect)) {
_textEditor.frame = CGRectOffset(originRect, 0, -TT_STATUS_HEIGHT);
_textEditor.frame = CGRectOffset(originRect, 0, -TTStatusHeight());
} else {
_textEditor.transform = CGAffineTransformMakeScale(0.00001, 0.00001);
}
Expand Down
4 changes: 2 additions & 2 deletions src/TTSearchDisplayController.m
Expand Up @@ -73,7 +73,7 @@ - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController*)contr
}
if (!self.searchContentsController.navigationController) {
[UIView beginAnimations:nil context:nil];
self.searchBar.superview.top -= self.searchBar.screenY - TT_STATUS_HEIGHT;
self.searchBar.superview.top -= self.searchBar.screenY - TTStatusHeight();
[UIView commitAnimations];
}
}
Expand All @@ -93,7 +93,7 @@ - (void)searchDisplayControllerWillEndSearch:(UISearchDisplayController*)control

if (!self.searchContentsController.navigationController) {
[UIView beginAnimations:nil context:nil];
self.searchBar.superview.top += self.searchBar.top - TT_STATUS_HEIGHT;
self.searchBar.superview.top += self.searchBar.top - TTStatusHeight();
[UIView commitAnimations];
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/TTThumbsViewController.m
Expand Up @@ -210,8 +210,8 @@ - (void)loadView {
| UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
self.tableView.backgroundColor = TTSTYLEVAR(backgroundColor);
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.contentInset = UIEdgeInsetsMake(TT_CHROME_HEIGHT+4, 0, 0, 0);
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(TT_CHROME_HEIGHT, 0, 0, 0);
self.tableView.contentInset = UIEdgeInsetsMake(TTBarsHeight()+4, 0, 0, 0);
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(TTBarsHeight(), 0, 0, 0);
}

- (void)viewDidAppear:(BOOL)animated {
Expand Down Expand Up @@ -269,8 +269,8 @@ - (void)didRefreshModel {
// TTTableViewController

- (CGRect)rectForOverlayView {
return TTRectContract(CGRectOffset([super rectForOverlayView], 0, TT_CHROME_HEIGHT-_tableView.top),
0, TT_CHROME_HEIGHT);
return TTRectContract(CGRectOffset([super rectForOverlayView], 0, TTBarsHeight()-_tableView.top),
0, TTBarsHeight());
}

///////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
12 changes: 10 additions & 2 deletions src/Three20/TTGlobal.h
Expand Up @@ -53,10 +53,8 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
// Dimensions of common iPhone OS Views

#define TT_STATUS_HEIGHT 20
#define TT_ROW_HEIGHT 44
#define TT_KEYBOARD_HEIGHT 216
#define TT_CHROME_HEIGHT (TT_STATUS_HEIGHT + TT_ROW_HEIGHT)
#define TT_ROUNDED -1

///////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -194,6 +192,16 @@ CGRect TTKeyboardNavigationFrame();
*/
CGRect TTToolbarNavigationFrame();

/**
* The height of the area containing the status bar and possibly the in-call status bar.
*/
CGFloat TTStatusHeight();

/**
* The height of the area containing the status bar and navigation bar.
*/
CGFloat TTBarsHeight();

/**
* Returns a rectangle that is smaller or larger than the source rectangle.
*/
Expand Down

0 comments on commit f56fe8f

Please sign in to comment.