本篇文章為大家展示了怎么在iOS中使用Masonry對動畫進行操作,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
網站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網頁設計、網站建設、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了通州免費建站歡迎大家使用!方法1
第一種是直接使用
[控件 mas_updateConstraints:^(MASConstraintMaker *make) { }];
,在block中寫入新的約束就可以了
方法2
是添加全局的約束,然后在添加約束的時候賦值,在動畫的代碼中改值。
@property (nonatomic, strong) MASConstraint *rightConstraint;
添加約束的代碼:
[控件 mas_makeConstraints:^(MASConstraintMaker *make) { _rightConstraint=make.right.mas_equalTo(view.mas_right).offset(-20); }];
動畫里修改約束的代碼
self.rightConstraint.mas_equalTo(-100);
以上就是對約束的修改方式。
動畫生效
和一般動畫不同的是,使用Masonry這樣放入到動畫的block中不能直接讓動畫生效,只是直接造成控件位移,經過嘗試,應當添加如下操作
-(void)beginAnimate{ //告知需要更改約束 [self.view setNeedsUpdateConstraints]; [UIView animateWithDuration:3 animations:^{ [btn mas_updateConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(view.mas_right).offset(-100); }]; //告知父類控件繪制,不添加注釋的這兩行的代碼無法生效 [btn.superview layoutIfNeeded]; }]; }
上述內容就是怎么在iOS中使用Masonry對動畫進行操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)網站建設公司行業(yè)資訊頻道。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。