Masonry布局三

2016-12-05 10_20_42.gif
//
//  NewViewController.m
//  MasonrySecond
//
//  Created by mibo02 on 16/12/5.
//  Copyright © 2016年 mibo02. All rights reserved.
//

#import "NewViewController.h"
#import "Masonry.h"
@interface NewViewController ()

@property (nonatomic, strong)UIButton *growingButton;
@property (nonatomic, assign)BOOL isExpanded;

@end

@implementation NewViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.growingButton = [UIButton buttonWithType:(UIButtonTypeCustom)];
    [self.growingButton setTitle:@"点我展开" forState:(UIControlStateNormal)];
    self.growingButton.layer.borderWidth = 3;
    self.growingButton.layer.borderColor = [UIColor redColor].CGColor;
    self.growingButton.backgroundColor = [UIColor greenColor];
    [self.growingButton addTarget:self action:@selector(clickBtnAction:) forControlEvents:(UIControlEventTouchUpInside)];
    [self.view addSubview:self.growingButton];
    self.isExpanded = NO;
    
}
//
- (void)updateViewConstraints
{
    [super updateViewConstraints];
    [self.growingButton mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(0);
        make.left.right.mas_equalTo(0);
        if (self.isExpanded) {
            make.bottom.mas_equalTo(0);
        } else {
            make.bottom.mas_equalTo(-350);
        }
    }];
}

- (void)clickBtnAction:(UIButton *)sender
{
    self.isExpanded = !self.isExpanded;
    if (!_isExpanded) {
        [self.growingButton setTitle:@"点我展开" forState:(UIControlStateNormal)];
    } else {
        [self.growingButton setTitle:@"点我收起" forState:(UIControlStateNormal)];
    }
    [self.view setNeedsUpdateConstraints];
    [self.view updateConstraintsIfNeeded];
    [UIView animateWithDuration:0.3 animations:^{
        [self.view layoutIfNeeded];
    }];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容