Ios-uibutton-setting the button title and picture position
Last Update:2015-12-22
Source: Internet
Author: User
<span id="Label3"></p><p><p>One.</p></p><p><p>1.Button before being clicked</p></p><p><p></p></p><p><p>After 2.Button is clicked</p></p><p><p></p></p><p><p>Two. Code</p></p><pre><span style="color: #008080;"><span style="color: #008080;">1</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) CreateBtn3</span></span><span style="color: #008080;"><span style="color: #008080;">2</span></span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;">3</span></span>UIImage * Buttonimage = [UIImage imagenamed:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">1.jpg</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;">4</span></span>UIImage * SelectedImage = [UIImage imagenamed:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">2.jpg</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;">5</span></span>CGFloat buttonimageviewwidth =<span style="color: #000000;"><span style="color: #000000;">cgimagegetwidth (buttonimage.cgimage);</span></span><span style="color: #008080;"><span style="color: #008080;">6</span></span>CGFloat buttonimageviewheight =<span style="color: #000000;"><span style="color: #000000;">cgimagegetheight (buttonimage.cgimage);</span></span><span style="color: #008080;"><span style="color: #008080;">7</span></span> <span style="color: #008080;"><span style="color: #008080;">8</span></span>NSString * Buttontitle =<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">left image Right caption</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;">9</span></span>Uifont * Buttontitlefont = [uifont systemfontofsize:<span style="color: #800080;"><span style="color: #800080;">17.0f</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;">Ten</span></span>Nsdictionary * attributes =<span style="color: #000000;"><span style="color: #000000;">@{nsfontattributename:buttontitlefont};</span></span><span style="color: #008080;"><span style="color: #008080;"></span> one</span>Cgsize buttontitlelabelsize =<span style="color: #000000;"><span style="color: #000000;">[buttontitle sizewithattributes:attributes];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">button width, at least the sum of imageview width and Titlelabel width</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>CGFloat Buttonwith = Buttonimageviewwidth +<span style="color: #000000;"><span style="color: #000000;">buttontitlelabelsize.width;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">button height, at least the sum of imageview height and Titlelabel height</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>CGFloat buttonheight = Buttonimageviewheight +<span style="color: #000000;"><span style="color: #000000;">buttontitlelabelsize.height;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>UIButton * Btn3 =<span style="color: #000000;"><span style="color: #000000;">[[UIButton alloc] init];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span>[btn3 Setcenter:cgpointmake (<span style="color: #800080;"><span style="color: #800080;"></span> the</span>,<span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">)];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>[btn3 Setbounds:cgrectmake (<span style="color: #800080;"><span style="color: #800080;">0</span></span>,<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">, buttonwith, buttonheight)];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 Setbackgroundcolor:[uicolor redcolor];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span> <span style="color: #008080;"><span style="color: #008080;"></span> at</span> <span style="color: #000000;"><span style="color: #000000;">[btn3.titlelabel setfont:buttontitlefont];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 setimage:buttonimage forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 setimage:selectedimage forstate:uicontrolstateselected];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 settitle:buttontitle forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> in</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 settitlecolor:[uicolor blackcolor] forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> to</span> <span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #000000;"><span style="color: #000000;">[btn3.titlelabel Setbackgroundcolor:[uicolor whitecolor];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 addtarget:self action: @selector (clicked:) forcontrolevents:uicontroleventtouchupinside];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> *</span> <span style="color: #000000;"><span style="color: #000000;">[self.view addsubview:btn3];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #008080;"><span style="color: #008080;">Panax Notoginseng</span></span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>) clicked: (UIButton *<span style="color: #000000;"><span style="color: #000000;">) Btn3</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span>NSLog (<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Btn1 was Clicked.</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">);</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span>NSString * Buttonselectedtitle =<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Next title</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[btn3 settitle:buttonselectedtitle forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>Cgpoint Buttonboundscenter =<span style="color: #000000;"><span style="color: #000000;">cgpointmake (cgrectgetmidx (btn3.bounds), cgrectgetmidy (btn3.bounds));</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Find out Imageview's final center</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Cgpoint Endimageviewcenter =<span style="color: #000000;"><span style="color: #000000;">cgpointmake (buttonboundscenter.x, cgrectgetmidy (btn3.imageView.bounds));</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Find out Titlelabel's final center</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Cgpoint endtitlelabelcenter = cgpointmake (buttonboundscenter.x, cgrectgetheight (btn3.bounds)-<span style="color: #000000;"><span style="color: #000000;">Cgrectgetmidy (btn3.titleLabel.bounds));</span></span><span style="color: #008080;"><span style="color: #008080;">Wuyi</span></span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Get Imageview's Initial center</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Cgpoint Startimageviewcenter =<span style="color: #000000;"><span style="color: #000000;">btn3.imageView.center;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> wu</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Get Titlelabel's Initial center</span></span><span style="color: #008080;"><span style="color: #008080;"></span> about</span>Cgpoint Starttitlelabelcenter =<span style="color: #000000;"><span style="color: #000000;">btn3.titleLabel.center;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Set Imageedgeinsets</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>CGFloat imageedgeinsetstop = endimageviewcenter.y-<span style="color: #000000;"><span style="color: #000000;">startimageviewcenter.y;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> a</span>CGFloat imageedgeinsetsleft = endimageviewcenter.x-<span style="color: #000000;"><span style="color: #000000;">startimageviewcenter.x;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>CGFloat Imageedgeinsetsbottom =-<span style="color: #000000;"><span style="color: #000000;">imageedgeinsetstop;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> $</span>CGFloat imageedgeinsetsright =-<span style="color: #000000;"><span style="color: #000000;">imageedgeinsetsleft;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>Btn3.imageedgeinsets =<span style="color: #000000;"><span style="color: #000000;">uiedgeinsetsmake (imageedgeinsetstop, imageedgeinsetsleft, imageedgeinsetsbottom, imageedgeinsetsright);</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Set Titleedgeinsets</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>CGFloat titleedgeinsetstop = endtitlelabelcenter.y-<span style="color: #000000;"><span style="color: #000000;">starttitlelabelcenter.y;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> in</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>CGFloat titleedgeinsetsleft = endtitlelabelcenter.x-<span style="color: #000000;"><span style="color: #000000;">starttitlelabelcenter.x;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> about</span>CGFloat Titleedgeinsetsbottom =-<span style="color: #000000;"><span style="color: #000000;">titleedgeinsetstop;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>CGFloat titleedgeinsetsright =-<span style="color: #000000;"><span style="color: #000000;">titleedgeinsetsleft;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> +</span>Btn3.titleedgeinsets =<span style="color: #000000;"><span style="color: #000000;">uiedgeinsetsmake (titleedgeinsetstop, titleedgeinsetsleft, titleedgeinsetsbottom, titleedgeinsetsright);</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>}</pre><p><p></p></p><p><p>Ios-uibutton-setting the button title and picture position</p></p></span>