我正在玩一個非常小的單一視圖應用程序,以瞭解視圖是如何工作的。我對iOS開發非常陌生。我正在使用一張圖片,作爲我唯一觀點的背景。運行應用程序時,我的背景非常龐大。就好像它被放大或縮放。我正在遵循一個Big Nerd Ranch教程來獲取視圖,因此我使用了一個名爲HypnosisView的UIView的子類。這是暫時的。它也可能值得注意的是,我想用於背景的圖像恰好是640 x 1136像素。窗口/視圖中的背景圖片太大
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
CGRect viewFrame = CGRectMake(0, 0, 640, 1136);
HypnosisView *view = [[HypnosisView alloc] initWithFrame:viewFrame];
[view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"BG.png"]]];
[[self window] addSubview:view];
self.window.backgroundColor = [UIColor blackColor];
[self.window makeKeyAndVisible];
return YES;
}
更新後的代碼嘗試使用0,0,320,568幀實現UIImageView。我還創建了一個320尺寸的背景,然後創建了一個完整大小的背景,並將其命名爲正確的標題。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
CGRect viewFrame = CGRectMake(0, 0, 320, 568);
UIImage *background = [UIImage imageNamed:@"[email protected]"];
UIImageView *backgroundView = [[[UIImageView alloc] initWithImage:background] initWithFrame:viewFrame];
[[self window] addSubview:backgroundView];
[[self window] sendSubviewToBack:backgroundView];
self.window.backgroundColor = [UIColor clearColor];
[self.window makeKeyAndVisible];
return YES;
}
所以你的圖像是640到1136,但你說當它顯示在你的UIView中時,圖像實際上大於640到1136? – sangony
它會出現這樣。這就像我只能看到圖像的左上角。 – sdfrien
iPhone 5中UIView的最大可視區域只有320 x 568像素。如果圖像大於該區域,您將只能看到它的一部分。請參閱下面的答案。 – Rick