我有一個帶有圖像子視圖的UIScrollView。我繼承touchesEnded
添加對話框作爲一個子視圖如下:addSubview ScrollView - 不受控制的按鈕動作
- (void) pushInfoBox {
// the following line is referred to "myVC Caller" below
myViewController *myVC = [[myViewController alloc]
initWithNibName:@"myView" bundle:nil];
[self addSubview:myVC.view];
[myVC release];
}
的觀點正確顯示,但是當我點擊myVC.view.backButton代碼執行跳轉到上面的「myVC來電」行。下一步轉儲-[myViewController performSelector:withObject:withObject:]: message sent to deallocated instance
。
奇怪的是myCaller.IBAction(backButton動作)沒有執行。
我期望在scrollview和push消息框之間啓用的用戶交互互相干擾,但我不確定如何正確處理這個問題。
關於如何解決這個問題的任何想法?
嗨Macatomy,感謝您的詳細解答。我對這個糟糕的問題表示贊同 - 試圖簡化日常工作。我添加了另一個編輯來糾正。 到你所做的要點: (a)布爾 - 我拿出了我使用的邏輯,因爲它與問題無關。將bool更改爲大寫。 (b)參數xPos,yPos和wPos - 同樣在這裏,將它從樣本中簡化爲 (c)釋放myVC - 這實際上是稍後的「[MBox發佈]」調用。 =>問題已更新 – iFloh 2010-06-20 18:36:54
仍然存在問題。您正在分配視圖控制器,將其視圖添加爲子視圖,然後立即將其釋放。這是什麼導致你的問題。就像我在我的回答中所說的,myVC應該是一個保留的實例變量,它應該在dealloc中釋放,而不是在方法內部釋放。 – indragie 2010-06-20 18:48:39
你是對的,按照你的建議,它的工作原理,但我不明白區別? – iFloh 2010-06-20 19:26:25