商城分類頁面自適應標題,自適應換行。

2021-07-24 11:37:36 字數 3223 閱讀 6025

最近在做**,做到分類覺得網上應該一大把現成的**。搜了一會沒有搜到,懶人也懶不了了。

寫了一會感覺還是有點需要思考的,寫下思路和貼上**,可以參考下。

最後作品:

類似qq分組列表怎麼做就不說。我把子分類和**分類放到乙個cell裡了,所以核心**都在

-(uitableviewcell

*)tableview:(

uitableview

*)tableview cellforrowatindexpath:(

nsindexpath

*)indexpath這個方法裡面

**如下

-(uitableviewcell

*)tableview:(

uitableview

*)tableview cellforrowatindexpath:(

nsindexpath

*)indexpath

else

nsdictionary

*  headdic =  

self

.datasource

[indexpath.

section];

nsarray

*  headsubarray  =   headdic[

@"subs"];

nsdictionary

*  subdic     =   headsubarray[indexpath.

row];

uilabel

*  subtitlelabel   =   [[

uilabel

alloc

]initwithframe

:cgrectmake(30

, 0, screenwidth-20

, 40

)];

subtitlelabel.

font

=   [

uifont

systemfontofsize:15

]; subtitlelabel.

text

=   subdic[

@"title_zh"];

[cell.

contentview

addsubview

:subtitlelabel];

nsarray

*  subarray  = subdic[

@"subs"];

cgfloat

sumwidth =

0.0f;

nsinteger

row=0;

for(inti=0

; icount

; i++) ;

nsstringdrawingoptions

options = 

nsstringdrawinguseslinefragmentorigin

| nsstringdrawingusesfontleading;

cgsize

boundsize =

cgsizemake

(screenwidth

, cgfloat_max);

cgrect

requiredsize = [subarray[i][

@"title_zh"

] boundingrectwithsize

:boundsize

options

:options

attributes

:attribute

context

:nil];

uibutton

* btn  = [[

uibutton

alloc

]initwithframe

:cgrectmake(30

+sumwidth,

40+row*

30, requiredsize.

size

.width

, 20

)];

[btn

settitle

:subarray[i][

@"title_zh"

] forstate

:uicontrolstatenormal];

[btn

settitlecolor

:uicolorfromrgb

(0xf6f6f6

) forstate

:uicontrolstatenormal];

[btn

setbackgroundcolor

:[uicolor

lightgraycolor

]];

btn.

layer

.cornerradius= 5

; btn.

titlelabel

.font

= [uifont

systemfontofsize:11

]; [cell.

contentview

addsubview

:btn]; if

((btn.

frame

.origin.x

+btn.

frame

.size

.width

)>

screenwidth

) else }

}cgrect

rect = cell.

frame;

rect.

size

.height

= 50+10

+row*30;

cell.

frame

= rect;

return

cell; }

-(cgfloat

)tableview:(

uitableview

*)tableview heightforrowatindexpath:(

nsindexpath

*)indexpath

難點和思路:

難點:1.獲取的最小一級的分類在按鈕上自適應

2.什麼時候換行需要判斷

3.高度自適應

解決思路:

取**分類的標題疊加,如果越界就換行。

頁面自適應

原文 首先,在網頁 的頭部,加入一行viewport元標籤。viewport是網頁預設的寬度和高度,上面這行 的意思是 網頁寬度預設等於螢幕寬度 width device width 原始縮 放比例 initial scale 1 為1.0 即網頁初始大小佔螢幕面積的100 由於網頁會根據螢幕寬度調...

網格自適應 Fluent網格自適應

1,前言 國慶剛過,馬上就要上班,上課了,祝福大家事業學業都有新的進步,新的前途。2,內容簡介 我們在平時做流體分析時,經常會遇到乙個問題,當畫好的網格匯入fluent計算時,看了分析結果,想讓某一部分我們關注的點更加細化一些,我們不得不重新去網格軟體裡調整網格。今天介紹的fluent自帶的網格自適...

網格自適應 網格自適應04 各向異性自適應

本文描述各向異性網格自適應方法應用。由於各向異性自適應 anisotropic adaption 僅適用於特定的網格型別,因此存在以下限制 利用按鈕 setting up domain adapt more anisotropic refinement.開啟anisotropic adaption設...