创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(20, 30, 150, 70)]; [self.view addSubview:button]; [button setTitle:@"button" forState:UIControlStateNormal]; [button setTi…
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)btnLeft.titleEdgeInsets = UIEdgeInsets(top: btnLeft.imageView!.frame.size.height, left: -btnLeft.imageView!.frame.size.width, bottom: 0, right: 0) //设置…
经查阅资料及尝试,最终解决了在图片和文字垂直排列的情况下,如果文字长度变化会导致图片位置变动的问题,最开始采用了网上比较多的做法,做法如下: @interface UIButton (UIButtonExt)   - (void)centerImageAndTitle:(float)space;   - (void)centerImageAndTitle;   @end   @implementation UIButton (UIButtonExt)   - (void)centerImageA…
一,通过按钮的事件来设置背景色 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - (void)viewDidLoad {     [super viewDidLoad];           UIButton *button1 = [[UIButton alloc] initWithFrame:CGRectMake(50, 200, 100, 50)];     [button1 setTitle:@"button1"…
一,设置单选效果 - (void)selectedBtnPress:(UIButton*)sender { //首先把原来按钮的选中效果消除 for (int i=0;i<num;i++) {//num为总共设置单选效果按钮的数目 UIButton *btn = (UIButton*)[view viewWithTag:i];//view为这些btn的父视图 btn.selected = NO; } sender.selected = YES;//sender.selected = !sende…
后面经过测试,如果button的文字长度变更,会导致图片位置变化,经过多次修改UIEdgeInsets的值也没有达到期望效果,最终采用集成UIButton类,重写layoutSubviews函数实现,特将成果记录一下,以便后续查阅   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -(void)layoutSubviews {     [super layoutSubviews];       // Center image     CGPoint c…
创建子类继承自UIButton,在layoutSubviews方法中改变文字和图片的位置就可以了,同理,稍作改变,可以写出文字在上图片在下.本文只给出文字在下图片在上的代码 -(void)layoutSubviews { [super layoutSubviews]; // image center CGPoint center; center.x = self.frame.size.width/; center.y = self.imageView.frame.size.height/; se…
实现类似效果: 代码实现: btnGrade.titleEdgeInsets = UIEdgeInsetsMake(, -(btnGrade.imageView?.bounds.width)!, , (btnGrade.imageView?.bounds.width)!) btnGrade.imageEdgeInsets = UIEdgeInsetsMake(, (btnGrade.titleLabel?.bounds.width)!+, , -(btnGrade.titleLabel?.bou…
UIImage *image2 = [UIImage imageNamed:imgName]; CGFloat top = ; // 顶端盖高度 CGFloat bottom = ; // 底端盖高度 CGFloat left = ; // 左端盖宽度 CGFloat right = ; // 右端盖宽度 UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right); image2 = [image2 resizableImag…
[btn.imageView setContentMode:UIViewContentModeScaleAspectFill];…