iOS 는 시스템 이 자체 적 으로 가지 고 있 는 button 을 위 그림 아래 텍스트 로 바 꾸 었 다.

위 는 그림 이 고 아래 는 문자 의 Button 을 자주 사용 합 니 다.이러한 컨트롤 은 사용자 정의 가 가능 하지만 시스템 button 에 직접 그림 과 위 치 를 재 layot 하여 같은 효 과 를 가 진 코드 를 우연히 발견 하 였 습 니 다.마지막 으로 사용 하 는 단 추 는 다음 과 같 습 니 다.
这里写图片描述
코드 는 UIButton 을 계승 한 다음 에 layout Subviews 방법 을 다시 쓰 고 자신 이 가지 고 있 는 그림 과 titleLabel 을 다시 layot 하 는 것 입 니 다.코드 는 다음 과 같 습 니 다.

//
// ZZZUpDownButton.h
//
// Copyright © 2016  George. All rights reserved.
//
/**
 *   Button   button      ,       
 */
#import <UIKit/UIKit.h>
@interface ZZZUpDownButton : UIButton
@end
//
// ZZZUpDownButton.m
// 
// Copyright © 2016  George. All rights reserved.
//
#import "ZZZUpDownButton.h"
@implementation ZZZUpDownButton
//   xib        
- (void)awakeFromNib {
 [super awakeFromNib];
 //       button         
 self.titleLabel.textAlignment = NSTextAlignmentCenter;
 self.titleLabel.numberOfLines = 0;
}
//    layout    ,          
- (void)layoutSubviews {
 [super layoutSubviews];
 //       button   
 CGRect tempImageviewRect = self.imageView.frame;
 tempImageviewRect.origin.y = 0;
 //       ,   x   button            
 tempImageviewRect.origin.x = (self.bounds.size.width - tempImageviewRect.size.width) / 2;
 self.imageView.frame = tempImageviewRect;
 CGRect tempLabelRect = self.titleLabel.frame;
 //   label x  button  (     )
 tempLabelRect.origin.x = 20;
 // y       
 tempLabelRect.origin.y = self.imageView.frame.size.height;
 //    button  ,     
 tempLabelRect.size.width = self.bounds.size.width - 40;
 //     button          
 tempLabelRect.size.height = self.bounds.size.height - self.imageView.frame.size.height;
 self.titleLabel.frame = tempLabelRect;
}
@end
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 iOS 가 시스템 자체 의 button 을 위의 그림 아래 문자 의 모습 으로 바 꾸 어 여러분 께 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기