iOS 按鈕 文字在左 圖片在右實現(xiàn)代碼

依然直接上代碼,很簡單 2行 就實現(xiàn)
第一種解決方案:

    UIButton *leftBtn = [[UIButton alloc] init];
    [leftBtn setTitle:@"北京" forState:UIControlStateNormal];
    [leftBtn setImage:[UIImage imageNamed:@"選擇城市箭頭"] forState:UIWindowLevelNormal];
    leftBtn.titleLabel.font = kFont(13);
    leftBtn.frame = CGRectMake(0, 0, 40, 44);
    leftBtn.showsTouchWhenHighlighted = YES;
    leftBtn.contentEdgeInsets = UIEdgeInsetsMake(0, -5, 0, 0);
    // 重點位置開始
    leftBtn.imageEdgeInsets = UIEdgeInsetsMake(0, leftBtn.titleLabel.width + 2.5, 0, -leftBtn.titleLabel.width - 2.5);
    leftBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -leftBtn.currentImage.size.width, 0, leftBtn.currentImage.size.width);
    // 重點位置結(jié)束
    leftBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
    UIBarButtonItem *leftItemBtn = [[UIBarButtonItem alloc] initWithCustomView:leftBtn];
    
    self.navigationItem.leftBarButtonItem = leftItemBtn;

第二種解決方案:

    自定義一個按鈕集成UIButton  然后在 layoutSubViews里面重新計算位置和偏移量
- (void)layoutSubviews {
    [super layoutSubviews];
    
//    // Center image
//    CGPoint center = self.imageView.center;
//    center.x = self.frame.size.width/2;
//    center.y = self.imageView.frame.size.height/2 + 13;
//    self.imageView.center = center;
//    
//    //    self.imageView.height = 27.0;
//    //    self.imageView.width = 28.0;
//    
//    //Center text
//    CGRect newFrame = [self titleLabel].frame;
//    newFrame.origin.x = 0;
//    newFrame.origin.y = CGRectGetMaxY(self.imageView.frame) + 5;
//    newFrame.size.width = self.frame.size.width;
//    
//    self.titleLabel.frame = newFrame;
//    self.titleLabel.textAlignment = NSTextAlignmentCenter;
    
    CGRect titleF = self.titleLabel.frame;
    CGRect imageF = self.imageView.frame;
    
    titleF.origin.x = 0;
    self.titleLabel.frame = titleF;
    
    imageF.origin.x = CGRectGetMaxX(titleF) + 10;
    self.imageView.frame = imageF;
}
  • 提示
    當設(shè)置后,文字依然跑偏,解決方案:首先排查是否設(shè)置了setImage圖片或者是否調(diào)用了[self.button layoutIfNeeded];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容