1. 程式人生 > >iOS 動態設定標籤

iOS 動態設定標籤


@property (strong,nonatomicUIView *tableHeadView;


NSMutableArray *hotSearchArr;

hotSearchArr = [[NSMutableArray alloc] initWithObjects:@"ceshi1",@"ceshi2ceshi2",@"ceshi3ceshi3ceshi3ceshi3ceshi3ceshi",@"ceshi4",@"ceshi5",@"ceshi6",@"ceshi7",@"ceshi8ceshi8ceshi8ceshi8", nil];

// 螢幕高度

#define SCREEN_HEIGHT           [[UIScreen mainScreen] bounds].size.height

// 螢幕寬度

#define SCREEN_WIDTH            [[UIScreen mainScreen] bounds].size.width


- (UIView *)tableHeadView{

    [hotSearchArr addObject:@"hotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArr"];

    [hotSearchArr addObject:@"hotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArr"];

    [hotSearchArr addObject:@"hotSearchAr"];

    [hotSearchArr addObject:@"hotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArrhotSearchArr"];

    [hotSearchArr addObject:@"hotSearchAr"];

if (_tableHeadView) {

for (UIView *subView in_tableHeadView.subviews) {

            [subView removeFromSuperview

];

        }

    }

_tableHeadView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,SCREEN_WIDTH,120)];

_tableHeadView.backgroundColor = [UIColorwhiteColor];

UILabel *hotSearchLab = [[UILabelalloc]initWithFrame:CGRectMake(20,0,100, 40)];

        hotSearchLab.text =MYLocalizedString(@"remensousuo",@"");

        hotSearchLab.textColor =SearchViewDeepColor;

        hotSearchLab.font =SearchViewTextFont;

        hotSearchLab.textAlignment =NSTextAlignmentLeft;

        [_tableHeadViewaddSubview:hotSearchLab];

CGFloat rowSpace =20.0;

CGFloat colSpace =15.0;

CGFloat hotTotalWidth =20.0f;

CGFloat hotTotalHeight =0.0f + (hotSearchLab.frame.size.height);

CGFloat hotTextHeight =0.0f;

for (int i =0; i <hotSearchArr.count;i++) {

NSDictionary *attribute =@{NSFontAttributeName:SearchViewTextFont};

CGSize size = [hotSearchArr[i]boundingRectWithSize:CGSizeMake(1000,300)

options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading

attributes:attributecontext:nil].size;

UIButton *hotSearchBtn = [[UIButtonalloc]init];

if (size.width >=SCREEN_WIDTH -2 * rowSpace) {

                hotSearchBtn.frame =CGRectMake(rowSpace, hotTotalHeight -3*colSpace,SCREEN_WIDTH - (2 * rowSpace), size.height + colSpace);

            }else{

                hotSearchBtn.frame =CGRectMake(hotTotalWidth, hotTotalHeight, size.width + rowSpace, size.height + colSpace);

            }

            [hotSearchBtn setTitle:hotSearchArr[i]forState:UIControlStateNormal];

            [hotSearchBtn setTitleColor:SearchViewPoolColorforState:UIControlStateNormal];

            hotSearchBtn.titleLabel.font =SearchViewTextFont;

            hotSearchBtn.layer.borderWidth = 0.5f;

            hotSearchBtn.layer.borderColor = [UIColorlightGrayColor].CGColor;

            [hotSearchBtn addTarget:selfaction:@selector(hotSearchBtnAction:)forControlEvents:UIControlEventTouchUpInside];

            hotSearchBtn.tag = i;

            hotTotalWidth += hotSearchBtn.frame.size.width + rowSpace;

            hotTextHeight = hotSearchBtn.frame.size.height;

if (hotTotalWidth >=_tableHeadView.frame.size.width) {

                hotTotalHeight += hotSearchBtn.frame.size.height + colSpace;

                hotTotalWidth = 20.0f;

                hotSearchBtn.frame =CGRectMake(hotTotalWidth, hotTotalHeight, hotSearchBtn.frame.size.width, hotSearchBtn.frame.size.height);

                hotTotalWidth += hotSearchBtn.frame.size.width + rowSpace;

            }

             [_tableHeadViewaddSubview:hotSearchBtn];

        }

        hotTotalHeight += hotTextHeight;

_tableHeadView.frame =CGRectMake(0,0,SCREEN_WIDTH, hotTotalHeight + colSpace);

UIView *lineView = [[UIViewalloc]initWithFrame:CGRectMake(15, hotTotalHeight + colSpace-1,SCREEN_WIDTH-15,0.5)];

        lineView.backgroundColor =COLOR(236,236,236, 1);

        [_tableHeadViewaddSubview:lineView];

return_tableHeadView;

}


相關推薦

iOS 動態設定標籤

@property (strong,nonatomic) UIView *tableHeadView; NSMutableArray *hotSearchArr; hotSea

iOS 動態顯示標籤

解決問題 1、根據標籤長度顯示; 2、多行顯示標籤; 程式碼片段: - (void)viewDidLoad { [super viewDidLoad]; NSArray *arr = @[@"JAVA",@"C",@"C++",@"

動態設定meta標籤

有時候在專案中開啟別的網頁,需要給網頁設定meta,如縮放禁止等。這時候在index.html中設定失效需要額外設定。可以使用外掛vue-meta:文件:https://github.com/declandewet/vue-meta#npm{ metaInfo: {

根據vue-router的meta動態設定html裡標籤的內容

路由檔案 :router/index.js import Vue from 'vue' import Router from 'vue-router' import index '@/view/i

ios 動態標籤 可點選

#import "XGTagView.h" @interface XGTagView() @end @implementation XGTagView /** * 初始化 * * @param frame frame * @param tagArr

input標籤動態設定只讀屬性及其相容性

專案中,經常會用到input標籤,有時候還會用到input標籤的只讀屬性“readOnly”。但是,input標籤的只讀屬性“readOnly”具有一定的侷限性,它只支援谷歌瀏覽器,不支援火狐瀏覽器和

通過js讓標籤動態設定預設值

<select id="selectY" name="job" onchange="javascript:location.href=this.value;"> <

iOS開發-進階:JPush設定標籤與別名的API

標籤與別名 API (iOS) 功能說明 溫馨提示,設定標籤別名請注意處理call back結果。 只有call back 返回值為 0 才設定成功,才可以向目標推送。否則伺服器 API 會返回1011錯誤。所有回撥函式都在主執行緒執行。 提供幾個相關 AP

ios 動態庫合成包(真機&模擬器)腳本

follow -- -c fin roo mar use framework eos p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #008400 } p.p2 { margin: 0.

iOS動態新增和獲取屬性

我們可以利用 objc_setAssociatedObject objc_getAssociatedObject 來為類動態新增和獲取屬性 static char dynamicKey; NSArray *array = @[@"4", @"5", @"6"

Spark2.2+ES6.4.2(三十二):ES API之ndex的create(建立index時設定setting,並建立index後根據avro模板動態設定index的mapping)/update/delete/open/close

要想通過ES API對es的操作,必須獲取到TransportClient物件,讓後根據TransportClient獲取到IndicesAdminClient物件後,方可以根據IndicesAdminClient物件提供的方法對ES的index進行操作:create index,update inde

動態設定html的title

使用vue前端框架做,竟然丟棄了很多javascript和html的東西了。。動態設定title的方法: 1.使用vue的自定義指令 &lt;div v-title&gt;{{htmltitle}}&lt;/div&gt; ... directives: { titl

iOS 程式碼設定檢視圓角

在某些檢視我們可能需要做圓角處理,此處以UIImageView為例,我們一般的寫法通常是 imageView.layer.mastToBounds = YES; imageView.layer.cornerRadius = imageView.frame.size.width / 2.0;

通過getter進行物件屬性動態設定

var tom={ name:'Tom', _birth:1999, age:undefined }; Object.defineProperty(tom,'age',{ get:function (){ let d=new Date(); let ye

vue.js 動態設定樣式

控制多個樣式: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 測試例項</title> <script src="https

mysql資料庫分表時,使用mybatis動態設定表名

mybatis中傳遞引數一般使用#{},但是當引數是表名時#{}就會報錯。這是為啥呢? 這是因為#{ } 解析為一個 JDBC 預編譯語句(prepared statement)的引數標記符。 簡單來講:select * from user_#{tableVersion} 會被解析為

TextView 動態設定字型大小和加粗

//字型大小為16,並且加粗 tv_1.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); tv_1.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));

如何動態設定ImageView的寬高以及位置

方法1: package com.pic;     import android.app.Activity;   import android.os.Bundle;   import android.util.Log;  

layui 動態設定checbox 選中狀態

最近在使用layui前端框架,在使用單選按鈕、下拉選單select、checkbox等控制元件的時候 往往遇到一些初始化的東西。 有時候會發現,自己動態append進去的程式碼要不就是沒有顯示,要不就是初始化預設選中出問題。 以上這些情況進行了測試: 第一種情況:動態append()htm

使用canvas畫線,在Js中動態設定高和寬

1.定義div   <div style="height:240px;" >                            &