我是Cocca和IOS开发的新手,发现自己处于以下情况。
我有一个1024x1024的背景图像,我想在所有视图上显示它。我已将以下代码放在应用程序委托中的应用程序didFinishLaunchingWithOptions中,并且它正确加载并可在所有视图下查看。
我遇到的问题是我似乎无法集中背景UIView
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Setup background image for all views
UIView *backgroundView = [[UIView alloc] initWithFrame: window.frame];
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background-image.png"]];
[window addSubview : backgroundView];
[backgroundView release];
// Override point for customization after application launch.
[window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
return YES;
}
我设法将背景UIView移动到各个位置,但不是中心。
我会对此提出任何帮助。
提前致谢 马特
答案 0 :(得分:0)
尝试用...替换您的代码
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image.png"]];
backgroundView.frame = window.frame;
[window addSubview:backgroundView];
[backgroundView release];
...如果你的background-image.png不适合整个窗口,请尝试使用backgroundView
的{{1}}和autoresizingMask
。
答案 1 :(得分:0)
使用setFrame方法使图像居中,使其保持居中使用autoresizingMask属性
enum {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};