大道至简,直接上代码

-(void)setButtonContentCenter:(UIButton *) btn

{

    CGSize imgViewSize,titleSize,btnSize;

    UIEdgeInsets imageViewEdge,titleEdge;

    CGFloat heightSpace = 10.0f;

   

    //设置按钮内边距

    imgViewSize = btn.imageView.bounds.size;

    titleSize = btn.titleLabel.bounds.size;

    btnSize = btn.bounds.size;

   

    imageViewEdge = UIEdgeInsetsMake(heightSpace,0.0, btnSize.height -imgViewSize.height - heightSpace, - titleSize.width);

    [btn setImageEdgeInsets:imageViewEdge];

    titleEdge = UIEdgeInsetsMake(imgViewSize.height +heightSpace, - imgViewSize.width, 0.0, 0.0);

    [btn setTitleEdgeInsets:titleEdge];

}


重点参考:

iOS UIButton 设置图片文字垂直排列

http://my.oschina.net/sayonala/blog/198376


iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐

http://doc.okbase.net/willingYaTou/archive/38295.html


Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐