The weight of each view is added to the AutoLayout so that the relationship between them is clearer, such as:
DoubleIconviewweight =1; DoubleTitlelabelweight = A; DoubleTimelabelweight =3; DoubleStandardweigth =Iconviewweight; DoubleIconviewweightratio = iconviewweight/standardweigth; DoubleTitilelabelwightratio = titlelabelweight/standardweigth; DoubleTimelabelwightratio = timelabelweight/standardweigth; UIView*standardview =_iconview;nsdictionary*views =nsdictionaryofvariablebindings (_iconview, _titilelabel, _timelabel, Bgimageview);Nslayoutconstraint *constraint =[Nslayoutconstraint constraintwithitem:_iconview att Ribute:nslayoutattributewidth Relatedby:nslayoutrelatione Qual Toitem:standardview Attribute:nslayoutattributewidth MULTIPLIER:ICONVIEWWEIGHTRATIO constant:0.0f]; [Self addconstraint:constraint]; Constraint=[Nslayoutconstraint Constraintwithitem:_titilelabel Attribute:nslayoutat Tributewidth relatedby:nslayoutrelationequal Toitem:standardview Attribute:nslayoutattributewidth Multiplier:titilelabelwightratio Constan T:0.0f]; [Self addconstraint:constraint]; Constraint=[Nslayoutconstraint Constraintwithitem:_timelabel attribute:nslayoutattr Ibutewidth relatedby:nslayoutrelationequal Toitem:standardview Attribute:nslayoutattributewidth Multiplier:timelabelwightratio constant:
0.0f]; [Self addconstraint:constraint]; Constraints= [Nslayoutconstraint Constraintswithvisualformat:@"|-[_iconview]-[_titilelabel]-[_timelabel]-|"Options:nslayoutformatalignallcentery Metrics:nil Views:views]; [Self addconstraints:constraints]; Constraint=[Nslayoutconstraint Constraintwithitem:_iconview Attribute:nslayoutattri Butecentery relatedby:nslayoutrelationequal ToItem:self.contentView Attribute:nslayoutattributecentery Multiplier:1.0constant:0.0f]; [Self addconstraint:constraint];
The code is more brief, but this applies to some specific situations
Add the weight of each view to the AutoLayout