今天上午講了昨天點作業,然後講了自定義cell的高度隨顯示內容的高度變化而變化,主要解決步驟以label為例:1、通過
cgrect
rect= [label.
text
boundingrectwithsize
:cgsizemake
(label.
bounds
.size
.width
,cgfloat_max
)options
:nsstringdrawinguseslinefragmentorigin
attributes:@
context
:nil];
方法獲取文字內容的高度和寬度;cgfloat_max最大,
@字型型別獲取文字高度; 2、
修改label
某frame
乙個值:
cgrect
frame = label.
frame
;
frame.
size
.height
=rect.
size
.height;
3、重新整理
label高度;
label.
frame
= frame;
4、設定cell高度為文字高度+cell原來高度; -(
cgfloat
)tableview:(
uitableview
*)tableviewheightforrowatindexpath:(
nsindexpath
*)indexpath
context
:nil];
return
rect.
size
.height+90
-20; }下午講遞迴
nsstring
* result =
@"";
nsstring
* prevchar =
@"";
nsuinteger
slen = [json
length
];bool
needrec = no;
nsstring
* lstr =
@"";
for(
inti=0; i < slen; i++)
nslog
(@"add (%d)deep json object :%@ "
,level,result);
result =
@"";
}else
lstr = [json
substringwithrange
:nsmakerange
(i+1,slen-i-1)];
break;}
if([sc
isequaltostring
:@"["
] && (!needrec))
nslog
(@"add (%d)deep json array : %@"
,level,result);
result =
@"";
}else
lstr = [json
substringwithrange
:nsmakerange
(i+1,slen-i-1)];
break;}
if ([sc
isequaltostring
:@"}"
] && (!needrec))
if ([sc
isequaltostring
:@"]"
] && (!needrec))
if([sc
isequaltostring
:@"\""
] && (![prevchar
isequaltostring
:@"\\"
]))
result
= [result
:@"%@"
,sc];
prevchar = sc;}
// loop if
(0 < [lstr
length
])return ;}
寫部落格第三十天;
藍懿iOS 技術內容交流和學習心得 11 11
今天是光棍節,今天上午老師講了昨天的作業 下午讓我們考試 感覺到了前面的知識掌握的不夠好我們一起多複習一下 alpha 透明度 hidden 隱藏 frame 位置和大小 bounds 顯示邊界 大小 center 中心點 方法 拿到所有的子控制項 nsarray views self.view.s...
藍懿ios 技術內容交流和學習心得 11 13
今天講了json字串的解析方法 1 首先要要清楚json字串是由字典和陣列組成,首先要從字串中把字串的第一層字典取出來使用date和下列方法 nsdata data nsdatadatawithcontentsoffile users wanlong documents 每天 news news n...
藍懿ios 技術內容交流和學習心得 11 18
今天主要是學習繪圖的相關知識繪製單線,多條線 繪製圖形 都要新增乙個類,類名為drawview class是uiview,把xib的view的class改為類名進行關聯 1 繪製單線 instancetype initwithframe cgrect frame return self void a...