[問題] 關於移除subview
各位好
請問我在一個single view上添加了一個新的subview
並且在subview上添加一個navigation bar 和一個 bar button
我想運用此 bar button關閉這個 subview
以下附上簡略的code
@property (nonatomic, strong) UIView *subview;
@property (nonatomic, strong) UIBarButtonItem *doneButton;
...
{
...
[self.view addSubview:self.subview];
...
self.doneButton = [[UIButtonItem alloc]
initWithTitle:@"Done"
style:UIBarButtonItemStylePlain
target:self
action:@selector(back:)];
...
}
-(void)back:(id)sender
{
//方法1
[self.subview removeFromSuperview];
//方法2
for( UIView *view in [self.subview subviews] )
{
[view removeFromSuperview];
}
}
我用方法1都無法移除 subview 及上面的所有元件
而用方法2可以以除上面的元件 但是subview本身無法移除
方法2我可以理解,但是方法1為什麼無法運作
或是有什麼其他方法可以使用,再麻煩跟我說
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.8.112
→
04/26 01:34, , 1F
04/26 01:34, 1F
→
04/26 06:51, , 2F
04/26 06:51, 2F
→
04/26 06:52, , 3F
04/26 06:52, 3F
→
04/26 06:52, , 4F
04/26 06:52, 4F
→
04/26 09:20, , 5F
04/26 09:20, 5F
→
04/26 10:52, , 6F
04/26 10:52, 6F
感謝 darktt
我檢查之後發現真的是記憶體位置不同所引起的
檢查的結果是因為我的 subview 是由 gasturerecognizer 呼叫建立的
後來解決方法是當只有在 statebegan 時才建立 subview
其他 state 接直接 return 不做動作
這樣就可以把 subview 關掉了
目前是用這種方式解決
不知道是否還有其他方法可以運用?
※ 編輯: BFZSA 來自: 219.85.8.112 (04/27 00:21)
推
04/27 03:36, , 7F
04/27 03:36, 7F
→
04/27 03:37, , 8F
04/27 03:37, 8F
→
04/27 03:39, , 9F
04/27 03:39, 9F
→
04/28 00:45, , 10F
04/28 00:45, 10F
→
04/28 00:47, , 11F
04/28 00:47, 11F
→
04/28 00:49, , 12F
04/28 00:49, 12F
→
04/28 00:51, , 13F
04/28 00:51, 13F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章