按钮控件里面的间距问题

  一个简单的按钮,里面可能不仅仅是显示文字,让我们去点击,一个按钮控件,子控件可能会有一个图片, 当然,也可能会包含一个图片和文字,里面还嵌套着内部间距等各种问题。(也要值得注意的的是这里的图片不是通过setBackgroundImage来load进图片的,而是通过setImage)

  说到间距,其实主要以下三个:

       btn.titleEdgeInsets

       btn.imageEdgeInsets

       btn.contentEdgeInsets

  例如我们有一种这样的界面,是一个按钮控件,里面设置了图片和文字:

        

     // top left bottom right(上左下右,逆时针)

        // contentEdgeInsets:会影响按钮内部的所有内容(里面的imageView和titleLabel) 

        btn.contentEdgeInsets = UIEdgeInsetsMake(50, 50, 0, 0);//所有内容的左边和顶部都下移50

        

       // titleEdgeInsets:只影响按钮内部的titleLabel

       btn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);//仅仅是文字部分的左边和顶部都下移50

         

          // imageEdgeInsets:只影响按钮内部的imageView

    btn.imageEdgeInsets = UIEdgeInsetsMake(50, 50, 0, 0);//仅仅是图片位置的左边和顶部都下移50

            

 如果想打印数据信息:

     NSLog(@"%@",NSStringFromUIEdgeInsets(self.view.contentInset));

原文地址:https://www.cnblogs.com/daomul/p/4675500.html