Определение координат центра iPhone / iPad

No comments on Определение координат центра iPhone / iPad

Written by

in

Я относительно долго мучился, пытаясь создать код, который был бы унивесальным для iPhone и iPad и определял координаты центра экрана и координаты нижней части экрана. Это нужно было для того, чтобы позиционировать ActivityIndicatorView и AdView. Причиной мучений было то, что функция self.view.bounds работает некооректно на iPad и возвращает координаты прямоугольника такие же как на iPhone, хотя размер экрана другой. Итак, привожу код, по нему все понятно. Сначала я создаю объект CGSize screenSize и далее его использую для позиционирования Activity Indicator и iAd. Вычитаю 20.0 – это высота Status Bar; 44.0 – высота Navigation Bar; 50.0 – высота ADBannerView. У Вас в этом моменте может быть по другому, главное – принцип.

<br />
    CGSize screenSize = [UIScreen mainScreen].bounds.size;</p>
<p>    // Универсальное определение центра iPhone / iPad<br />
    CGFloat centerX = screenSize.width/2.0;<br />
    CGFloat centerY = (screenSize.height – 20.0 – 44.0)/2.0;<br />
    activity.center = CGPointMake(centerX, centerY);</p>
<p>    // Универсальное позиционирование рекламы внизу экрана iPhone / iPad<br />
    CGFloat adWidth = screenSize.width;<br />
    CGFloat adYCoordinate = screenSize.height – 20.0 – 44.0 – 50.0;<br />
    NSLog(@”adWidth=%f, adYCoordinate=%f”, adWidth, adYCoordinate);<br />
    CGRect bannerFrame = CGRectMake(0, adYCoordinate, adWidth, 50.0);<br />
    bannerView.frame = bannerFrame;<br />

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *