ios - How do I horizontally center the UIView in my UITableView section footer? -


i'm adding either or down arrow image in uitableview section's footer so:

uiview *view = [[uiview alloc] initwithframe:cgrectzero]; view.backgroundcolor = [uicolor whitecolor];  morebutton *morebutton = [morebutton buttonwithtype:uibuttontypecustom]; morebutton.frame = cgrectmake(0, 0, 60, 22); morebutton.sectionindex = section;  if (self.expandedsection == -1){     [morebutton setimage:[uiimage imagenamed:@"downarrow.png"] forstate:uicontrolstatenormal]; } else {     if (self.expandedsection == section) {         [morebutton setimage:[uiimage imagenamed:@"uparrow.png"] forstate:uicontrolstatenormal];     }     else {         [morebutton setimage:[uiimage imagenamed:@"downarrow.png"] forstate:uicontrolstatenormal];     }  }  [morebutton addtarget:self action:@selector(morebuttonselected:) forcontrolevents:uicontroleventtouchupinside]; [view addsubview:morebutton];  return view;  

this works fine, except fact has image positioned way on left, while want in middle:

enter image description here

i know because of positioning gave frame (cgrectmake(0, 0, 60, 22);), i'm not sure how set x coordinate have horizontally centered, regardless of screen size.

this line:

morebutton.frame = cgrectmake(0, 0, 60, 22); 

says want button appear @ origin 0,0 of it's superview (the super view being footer).

if change like:

morebutton.frame = cgrectmake(200, 0, 60, 22); 

it'll closer middle.

to right, need use auto layout.

based on the code question, should able like:

morebutton *morebutton = [morebutton buttonwithtype:uibuttontypecustom]; morebutton.frame = cgrectmake(0, 0, 60, 22); morebutton.sectionindex = section;  [morebutton settranslatesautoresizingmaskintoconstraints:no]; [self.view addsubview:viewobj];  nslayoutconstraint* cn = [nslayoutconstraint constraintwithitem:morebutton                                                       attribute:nslayoutattributecenterx                                                       relatedby:nslayoutrelationequal                                                          toitem:self.view                                                       attribute:nslayoutattributecenterx                                                       multiplier:1.0                                                        constant:0]; [self.view addconstraint:cn];  // centers y... not sure if need or not cn = [nslayoutconstraint constraintwithitem:morebutton                                    attribute:nslayoutattributecentery                                   relatedby:nslayoutrelationequal                                       toitem:self.view                                   attribute:nslayoutattributecentery                                  multiplier:1.0                                    constant:0]; [self.view addconstraint:cn]; 

Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

Enable autocomplete or intellisense in Atom editor for PHP -