1

私は iPad と iPhone 用のアプリに取り組んでおり、ナビゲーション バーに複数のバー アイテムを追加しましたが、別のバー アイテムを追加したいです... iPad のナビゲーション バーで 2 つのアイテムを追加したいだけですすでに機能している権利。しかし、iPhone ナビゲーション バーの左側に 2 つのボタンを追加したいと考えています。しかし、私が試している方法では、同じナビゲーション バー、同じアイテム、さまざまなアイテムをナビゲーション バーに追加する方法に関するアイデアが得られます。

これが私のコードです:

UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] 
  initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
  target:self action: @selector(IpadReload:)];

UIImage *emailIcon = [UIImage imageNamed:@"emailicon.png"];
UIBarButtonItem *emailButton = [[UIBarButtonItem alloc] initWithImage:(emailIcon) style:UIBarButtonItemStylePlain target:self action:@selector(emailButtonTapped:)];

NSArray *rightButtonsArray = [[NSArray alloc] initWithObjects:refreshButton, emailButton, nil];

self.navigationItem.rightBarButtonItems = rightButtonsArray;

UIBarButtonItem *previousButton = [[UIBarButtonItem alloc] initWithTitle:@"Previous" style:UIBarButtonItemStylePlain  target: self action: @selector(PreviousClicked:)];

UIImage *phoneIcon = [UIImage imageNamed:@"phoneicon.png"];
UIBarButtonItem *phoneButton = [[UIBarButtonItem alloc] initWithImage:(phoneIcon) style:UIBarButtonItemStylePlain target:self action:@selector(callPhone:)];

NSArray *leftButtonsArray = [[NSArray alloc] initWithObjects:previousButton, phoneButton, nil];

self.navigationItem.leftBarButtonItems = leftButtonsArray;
4

3 に答える 3

2

実際には、isEqualToString ではなく、iOS の組み込みの現在のデバイスの列挙型を使用する必要があります。

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    // iPad
} else {
    //  iPhone or iPod Touch - Add your two items to the right here
}
于 2012-06-03T11:46:18.750 に答える
1

iPhone と iPad を簡単に区別するには、次のようにします。

BOOL iPad = [[UIDevice currentDevice] userInterfaceIdiom] == 
    UIUserInterfaceIdiomPad;
// your setup
UIImage *buttonIcon = [UIImage imageNamed: 
   iPad ? @"padIcon.png" : @"phoneIcon.png"];
于 2012-06-03T11:47:46.563 に答える
0

最初にiPhoneとiPadを区別し、それに応じてナビゲーションバーアイテムを追加しますNSString * deviceType = [UIDevice currentDevice] .model;

if([deviceType isEqualToString:@"iPhone"]){
//Add iPhone navigation items
}else if ([deviceType isEqualToString:@"iPhone"]){
//Add iPad navigation items
}else{

//iPodなどのデフォルトアイテム}

于 2012-06-03T11:16:18.097 に答える