QMUI的使用(三) - iOS搜索標簽的流水布局

小浣熊博客

2018-09-25更新: Swift版流水標簽,此版本不是基于QMUI,避免依賴

注:項目是基于QMUI框架,因此實現此效果需pod或手動安裝QMUIKit框架
項目github下載

步驟

  1. 安裝QMUI框架:安裝方法
  2. 在AppDelegate啟動QMUI的配置模板和渲染全局控件樣式:設置方法
  3. 在pod文件中找到QMUIConfigurationTemplate,將.h和.m拖入到目錄下,如果出現文件重復,將pod中.h文件代碼注釋掉即可.(這里也可以下載QMUI官方Demo,將Demo中的組件Common文件直接拖入并復制到自己的項目中,出現重復文件報錯處理方法同pod一樣處理即可)
  4. 在viewController文件中導入#import "QMUICommonViewController.h"
  5. 編寫代碼如下:
#import "ViewController.h"
#import "QMUICommonViewController.h"

@interface ViewController ()

@property(nonatomic, strong) QMUIFloatLayoutView *floatLayoutView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.title = @"QMUIFloatLayoutView";
    
    self.floatLayoutView = [[QMUIFloatLayoutView alloc] init];
    self.floatLayoutView.padding = UIEdgeInsetsMake(12, 12, 12, 12);
    self.floatLayoutView.itemMargins = UIEdgeInsetsMake(0, 0, 10, 10);
    self.floatLayoutView.minimumItemSize = CGSizeMake(69, 29);// 以2個字的按鈕作為最小寬度
    self.floatLayoutView.layer.borderWidth = PixelOne; //邊框注釋即消失
    self.floatLayoutView.layer.borderColor = UIColorSeparator.CGColor;
    [self.view addSubview:self.floatLayoutView];
    
    NSArray<NSString *> *suggestions = @[@"東野圭吾", @"三體", @"愛", @"紅樓夢", @"理智與情感", @"讀書熱榜", @"免費榜"];
    for (NSInteger i = 0; i < suggestions.count; i++) {
        QMUIGhostButton *button = [[QMUIGhostButton alloc] initWithGhostType:QMUIGhostButtonColorGray];
        [button setTitle:suggestions[i] forState:UIControlStateNormal];
        button.titleLabel.font = UIFontMake(14);
        button.contentEdgeInsets = UIEdgeInsetsMake(6, 20, 6, 20);
        [self.floatLayoutView addSubview:button];
    }
    
    UIEdgeInsets padding = UIEdgeInsetsMake(CGRectGetMaxY(self.navigationController.navigationBar.frame) + 36, 24, 36, 24);
    CGFloat contentWidth = CGRectGetWidth(self.view.bounds) - UIEdgeInsetsGetHorizontalValue(padding);
    CGSize floatLayoutViewSize = [self.floatLayoutView sizeThatFits:CGSizeMake(contentWidth, CGFLOAT_MAX)];
    self.floatLayoutView.frame = CGRectMake(padding.left, padding.top, contentWidth, floatLayoutViewSize.height);
    
}
@end

最終效果圖

搜索標簽樣式流水布局.png

注:項目源于 QMUI 的一個功能,這里將其拆分開來

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,558評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,255評論 4 61
  • #peachlem喵喵 可能我真的做錯了,可能有時候我總是忽略你,可能有時候我不夠細心,不夠體貼,可是我是真的很在...
    把幸福搞丟了閱讀 205評論 1 1
  • Zzy_wyy閱讀 193評論 0 0
  • 生活方式會決定你是什么樣的人 制定三十年的目標 知道自己做什么不做什么 創造有價值的工作不以賺錢為導向 與思想情感...
    樂悠糖果閱讀 168評論 0 0