0

できるだけ少ない作業で iPhone アプリを iPad に移植しようとしていますが、最後の 1 点で行き詰っています。

画面の下部にカスタム UI 要素があります。UI 要素は、いくつかのデリゲート メソッドとクライアントのニーズに合わせたカスタム描画を備えた単なる UIView のサブクラスです。UIView には、等間隔に配置された複数の UIButton オブジェクトが含まれています。

私の質問は、これらのプログラムで作成された UIButtons を中央に配置する方法です。サブクラス CustomNavBar の UIView を含む中央の .xib ファイルがあります。CustomNavBar クラス内で、次のことを試みました。

    self.frame.size...

また

    self.bounds.size...

また

    CGRect rect = [[UIScreen mainScreen]bounds];
    rect.origin.size...

しかし、返品はすべて標準の iPhone サイズです。.XIB ファイルに含まれる他のオブジェクトにすべての自動サイズ変更を設定しましたが、UI アスペクトがプログラムで作成されたインスタンスをどうするかわかりません。

お役に立てれば幸いです。

4

1 に答える 1

1

iPad 用の代替 xib を使用できるため、デフォルトの iPad サイズになっています。xib が iPhone デバイス ファミリ用に作成されている場合、iPad にうまく統合されません。

NSString* xibName = @"myview.xib";
if ([[UIDevice currentDevice].model isEqualToString:@"iPad"])
{
    xibName = @"myview_iPad.xib";
}

たとえば、このコードを使用して iPad バージョンの xib を取得します。xib 名を受け取り、iPhone の xib 名または iPad の xib 名を返すマクロ (または関数) を作成することもできます (現在のデバイスが iPad の場合は _iPad を追加します)。

于 2011-11-13T22:56:14.367 に答える