我正在尝试根据iphone 5屏幕尺寸定位uicontrol。因此我已相应地设置了背景图像。但我不知道如何定位uicontrols。
请告诉我
UIImage* myImage;
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
myImage = [UIImage imageNamed:@"bg-for5-568h.png"];
} else {
myImage = [UIImage imageNamed:@"bg.png"];
}
self.view.backgroundColor = [UIColor colorWithPatternImage:myImage];
self.view.autoresizesSubviews = YES;
self.navigationController.navigationBarHidden = YES;
// Create an UIButton
UIButton *aCalculateBtn = [UIButton buttonWithType: UIButtonTypeCustom];
UIImage *imgBack = [[UIImage imageNamed:@"calc.png"]
stretchableImageWithLeftCapWidth:22
topCapHeight:0];
[aCalculateBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
aCalculateBtn.titleLabel.font = [UIFont boldSystemFontOfSize:14.0];
aCalculateBtn.titleLabel.shadowOffset = CGSizeMake(0, -1);
[aCalculateBtn setBackgroundImage:imgBack forState:UIControlStateNormal];
[aCalculateBtn addTarget:self action:@selector(showQuestions) forControlEvents:UIControlEventTouchUpInside];
aCalculateBtn.frame = CGRectMake(150,160, 150, 38);
aCalculateBtn.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
aCalculateBtn.bounds = CGRectInset(aCalculateBtn.bounds, -3, 1);
[self.view addSubview:aCalculateBtn];
// Create an UIButton
UIButton *anAboutBtn = [UIButton buttonWithType: UIButtonTypeCustom];
UIImage *imgAbout = [[UIImage imageNamed:@"about-us.png"]stretchableImageWithLeftCapWidth:22 topCapHeight:0];
[anAboutBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
anAboutBtn.titleLabel.font = [UIFont boldSystemFontOfSize:14.0];
anAboutBtn.titleLabel.shadowOffset = CGSizeMake(0, -1);
[anAboutBtn setBackgroundImage:imgAbout forState:UIControlStateNormal];
[anAboutBtn addTarget:self action:@selector(showAbout)
forControlEvents:UIControlEventTouchUpInside];
anAboutBtn.frame = CGRectMake(150,190, 150, 38);
anAboutBtn.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
anAboutBtn.bounds = CGRectInset(anAboutBtn.bounds, -3, 1);
[self.view addSubview:anAboutBtn];
答案 0 :(得分:0)
您有2个选择,您可以使用Autolayout并在此处阅读布局约束:
您需要根据屏幕高度为每个版本更改view.frame.origin或view.frame.center。
if([ [ UIScreen mainScreen ] bounds ].size.height == 568 )
{
self.view.frame = CGRectMake(0,0,320,568);
self.view.center = CGPointMake(284);
}
else
{
self.view.frame = CGRectMake(0,0,320,480);
self.view.center = CGPointMake(160,240);
}