gpt4 book ai didi

ios - 通用应用 subview

转载 作者:行者123 更新时间:2023-11-29 04:22:40 25 4
gpt4 key购买 nike

我有一个通用应用程序和 iPhone 代码集中的 subview 框架,我发现将 iPad 模拟器放在 subview 中具有相同的大小。因此iPad我必须重写所有框架还是有快捷方式?这是代码。

 -(void) layoutPortrait {

self.imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bar_V.png"]];
self.imageView.frame= CGRectMake(0, 0, 320, 80);
self.labelTitle.frame =CGRectMake(14, 103, 91, 54);
self.buttonFavorites.frame= CGRectMake(109, 485, 33, 33);
self.buttonHome.frame =CGRectMake(14, 485, 33, 33);
self.buttonMap.frame=CGRectMake(61, 485, 33, 33);


}

-(void) layoutLandscape {

self. imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bar_O.png"]];
self.imageView.frame= CGRectMake(0,0,568,65 );
self.labelTitle.frame =CGRectMake(20,92,165,48);
self.buttonFavorites.frame= CGRectMake(107,237,33,33);
self.buttonHome.frame =CGRectMake(11,237,33,33);
self.buttonMap.frame=CGRectMake(59,237,33,33);



}


- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.hidden=YES;
// Do any additional setup after loading the view from its nib.

//orientazioni
UIInterfaceOrientation deviceOrientation= self.interfaceOrientation;


if(deviceOrientation == UIInterfaceOrientationPortrait || deviceOrientation== UIInterfaceOrientationPortraitUpsideDown) {
[self layoutPortrait];

}
else if (deviceOrientation== UIInterfaceOrientationLandscapeRight){
[self layoutLandscape];

}
else if (deviceOrientation==UIInterfaceOrientationLandscapeLeft){

[self layoutLandscape];



}


[self.view addSubview:self.labelTitle];
[self.view addSubview:self.imageView];
[self.view addSubview:self.buttonFavorites];
[self.view addSubview:self.buttonHome];
[self.view addSubview:self.buttonMap];
}

最佳答案

有两种方法可以解决这个问题。

首先,您可以创建特定于 iPad 和 iPhone 5 的框架。

其次,您可以使 View 根据父 View 或其他 subview 自动调整大小。这是通过自动调整大小来完成的。一个很好的链接描述了这一点:iOS 5 iPhone Rotation, View Resizing and Layout Handling

我注意到您的代码使用旧的布局 View 的方式,即检测界面方向,然后根据该方向布局框架。自 iOS 6 以来一直强调的更好的方法是使用layoutSubviews() 和同伴。

关于ios - 通用应用 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com