簡體   English   中英

iPhone ipad筆尖返回相同的self.view.frame.size.width問題

[英]iphone ipad nib return same self.view.frame.size.width issue

我想獲取屏幕的當前尺寸。 我用了self.view.frame.size.width

NSLog(@"%f",self.view.frame.size.width)

因此,當我在iphone模擬器中運行時,它將返回320,但是,當我在ipad模擬器中運行時,它將仍然返回我320

我為iphone和ipad使用了不同的nib文件,它們正在獲取正確的nib文件,目標家庭是ipad / iphone,它應該返回768,因此我可以根據該尺寸調整圖像大小。

有任何想法嗎?

嘗試使用這些

CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
CGFloat screenheight = [UIScreen mainScreen].bounds.size.height;

但UIScreen並未考慮當前的界面方向。 您也必須檢查一下

或直接檢查設備類型

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

如圖所示,將目標設備更改為通用設備

在此處輸入圖片說明

在iPad Simulator中運行時是否正在使用iPad Nib文件? 也許您想通過更改iPad的NIB中的某些內容(例如,更改按鈕的位置)進行檢查。 這樣,當應用程序運行時,您可以檢查它是iPhone的NIB還是iPad的Nib。

首先您檢查一下:

if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone)和

if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)

並且在分配文件時:

對於iPhone:-ABController * controller = [[ABController alloc] initWithNibName:@“ ABController〜iPhone” bundle:nil];

對於iPad:-ABController * controller = [[ABController alloc] initWithNibName:@“ ABController〜iPad” bundle:nil];

確保

 self.view.autoresizesSubviews=NO;
 Imageview.autoresizingMask=NO;

設置為NO。

那會做你的工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM