【发布时间】:2016-06-15 11:38:44
【问题描述】:
虽然我是 iOS 新手,但我向设计师询问了一个应用程序。 他给了我 iPhone 6 的设计指南。
如何将设计指南应用于其他设备,如 iPhone 4S,分辨率较低,比例不同。
我将如何应用设计指南? 我目前正在使用自动布局,但我完全不了解自动布局。
有没有关于这个问题的参考资料?
【问题讨论】:
标签: ios autolayout
虽然我是 iOS 新手,但我向设计师询问了一个应用程序。 他给了我 iPhone 6 的设计指南。
如何将设计指南应用于其他设备,如 iPhone 4S,分辨率较低,比例不同。
我将如何应用设计指南? 我目前正在使用自动布局,但我完全不了解自动布局。
有没有关于这个问题的参考资料?
【问题讨论】:
标签: ios autolayout
如果您是新手,那么您必须知道如何以编程方式检测您正在使用的设备。
这些是macros 用这些来检测
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_4 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 480.0)
#define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0)
现在您可以使用这些来制作任何视图,例如,如果您想创建屏幕尺寸宽度和高度为 100 的按钮。
那么这是为任何设备以编程方式创建按钮的方法
float screenWidth=[UIScreen mainScreen].bounds.size.width;
float screenHeight=[UIScreen mainScreen].bounds.size.height;
UIButton *btnLock=[UIButton buttonWithType:UIButtonTypeCustom];
btnLock.frame= CGRectMake(0, 50, screenWidth, 100);
btnLock.backgroundColor=[UIColor redColor];
[self.view addSubview:btnLock];
如果您想以编程方式编码,这是一种方式。谢谢
【讨论】:
float screenWidth=[UIScreen mainScreen].bounds.size.width;
float screenHeight=[UIScreen mainScreen].bounds.size.height;
int padding = 10;
UIButton *btnLock=[UIButton buttonWithType:UIButtonTypeCustom];
btnLock.frame= CGRectMake(padding, 50, screenWidth-padding*2, 100);
btnLock.backgroundColor=[UIColor redColor];
[self.view addSubview:btnLock];
这将为每个 iPhone 提供 10 填充。试试看谢谢
【讨论】: