UIStepper 缩放:UI的使用

本文详细介绍了如何在iOS和Android设备上实现自定义界面元素,如按钮和图片,并通过状态变化动态调整界面布局,确保跨平台的一致性和用户体验。

// 实现文件:声明在对应的.h文件。继承至UIViewControllor

 

- (void)viewDidLoad

{

    [super viewDidLoad];

 

    // 按钮

    self.stp = [[UIStepper alloc] initWithFrame:CGRectMake(20, 30, 150, 30)];

    self.stp.tintColor = [UIColor whiteColor];

    self.stp.value = 5;

    self.stp.maximumValue = 5;

    [self.view addSubview:self.stp];

    

    // 默认背景

    self.view.backgroundColor = [[UIColor alloc]initWithPatternImage:

                                [UIImage imageNamed:@"beijing1.jpg"]];

 

    // 创建视图

    self.imv = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

    // 自动缩放

    self.imv.autoresizingMask = UIViewAutoresizingFlexibleWidth |

    UIViewAutoresizingFlexibleHeight;

    

    [self.view addSubview:self.imv];

    

    // 事件

    [self.stp addTarget:self action:@selector(changeState) forControlEvents:UIControlEventValueChanged];

 

    

}

 

- (void)changeState

{

    // 每次都重置,保证是从6plus的基础上改变

   self.imv.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

    

    // default is iPhone6plus: 414 735

    switch ((int)self.stp.value)

    {

        case Phone:// 240 320

            self.imv.frame = CGRectInset(self.imv.frame, 174, 215);

            self.imv.image = [UIImage imageNamed:@"Phone.jpg"];

            break;

        case iPhone4:// 240 320

            self.imv.frame = CGRectInset(self.imv.frame, 174, 216);

            self.imv.image = [UIImage imageNamed:@"iPhone5.jpg"];

            break;

        case iPhone5:// 320 568

            self.imv.frame = CGRectInset(self.imv.frame, 94, 168);

            self.imv.image = [UIImage imageNamed:@"iPhone5.jpg"];

            break;

        case iPhone6:// 375 667

            self.imv.frame = CGRectInset(self.imv.frame, 39, 69);

            self.imv.image = [UIImage imageNamed:@"iPhone6.jpg"];

            break;

       case iPhone6plus:// 414 736

            self.imv.frame = CGRectInset(self.imv.frame, 0, 0);

            self.imv.image = [UIImage imageNamed:@"iPhone6plus.jpg"];

            break;

        default:

            self.view.backgroundColor = [[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"beijing.jpg"]];

 

            break;

    }

    

    

     NSLog(@"%f", self.stp.value);

}

 

转载于:https://www.cnblogs.com/pruple/p/5260075.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值