美文网首页
UIButton应用细节

UIButton应用细节

作者: 撸码是一种情怀 | 来源:发表于2015-08-27 00:59 被阅读75次
  • 1、消除UIButton的高亮状态:
    • 1)自定义button
    • 2)重写Highlighted的set方法
- (void)setHighlighted:(BOOL)highlighted{};
  • 2、修改button内部控件:UIImageView和UILabel的位置

  • 1)方法一:

    • 1】自定义button;
    • 2】重写以下方法:
     // 重新设置ImageView的frame
     - (CGRect)imageRectForContentRect:(CGRect)contentRect
     {
     return imageRect;
     }
     // 重新设置Label的frame
     - (CGRect)titleRectForContentRect:(CGRect)contentRect
     {
     }
    
    
  • 2)方法二:

  • 1】自定义button;

  • 2】重写LayoutSubviews方法:

// 此举例实现的功能是让button内部的imageView和label上下排布
- (void)layoutSubviews
{
  [super layoutSubviews];
  CGFloat titleH =21; CGFloat imageX =0;
  CGFloat imageY =0;
  CGFloatimageW = self.bounds.size.width;
  CGFloat imageH =self.bounds.size.height-titleH;
  self.imageView.frame = CGRectMake(imageX,imageY, imageW, imageH);
  self.titleLabel.frame = CGRectMake(imageX,imageH, imageW, titleH);
}
  • 3、设置文字图片居中
    self.titleLabel.textAlignment = NSTextAlignmentCenter;
    self.imageView.contentMode= UIViewContentModeCenter;
  • 4、设置label换行显示
button.titleLabel.numberOfLines = 0;
  • 5、设置尺寸随内容尺寸而定:
[btn sizeToFit];
  • 6、让navigationbar的leftItem或rightItem尽量靠近屏幕边缘:
// 自定义button---MainTagSubIcon(测试图片名称)
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"MainTagSubIcon"] forState:UIControlStateNormal];
// 设置button的尺寸
[button sizeToFit];
// 设置内边距对应的位置为负数
button.contentEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

相关文章

网友评论

      本文标题:UIButton应用细节

      本文链接:https://www.haomeiwen.com/subject/jlehcttx.html