cocoa - Layout subviews in TableViewCell without adding to NSTableView -
i have subclass of nstableviewcell has several controls in it, , need width of 1 of them calculate height row.
since not allowed cell tableview:heightofrow, need calculate height taking account width of textfield thats inside cell , string goes in row.
i figured i'd create single static cell, give frame current width , make calculate , perform layout , resulting width textfield width.
here code thats supposed me width of "nametextfield"
    +(float)nametextfieldwidthfortasktabletype:(tasktabletype )type compactsize:(bool)compactsize totalcellwidth:(float)totalwidth{     static taskcellview *taskcell = nil;     if (taskcell == nil) {         taskcell = [[taskcellview alloc]initwithcompactsize:compactsize tasktabletype:type identifier:@"notused"];     }      if (taskcell.frame.size.width != totalwidth) {         taskcell.frame = nsmakerect(0, 0, totalwidth, 25);         [taskcell updateconstraints];      }      nstextfield *nametextfield = [taskcell viewforcomponent:ktaskcellcomponentname];     return nametextfield.frame.size.width;  }   the cell subviews constraint based. , work ok. here, nametextfield frame zero. cell need superview layout ? or else missing ?
this did trick:
   [taskcell layoutsubtreeifneeded];      
Comments
Post a Comment