【发布时间】:2011-09-07 05:21:07
【问题描述】:
这是我的应用程序的流程。第一个视图 -> 第二个视图 -> 第三个视图
在第三个视图中,当我单击 tableView 的任何一行时,会显示一个 UIView,其中有一个 textField 只接受数字。为此,我实现了 UIKeyboardWillShowNotification 并在键盘的左下角显示了一个用于“点”按钮的 UIButton(为此,我创建了两个图像并将该图像设置为 UIButton 对象)。
我的问题是,在使用这个自定义键盘(2-3 次)后,当我将表单第三个视图重定向到第一个视图时,这个 UIButton(带点图像)出现在第一个视图上。我在那里使用了默认键盘,但这个图像没有消失。
在从第三视图移动到第一视图时,我正在删除我之前注册的键盘通知的 Observer 并且我正在检查是否,
if ([dotButton retainCount] > 0) {
[dotButton release];
dotButton = nil;
}
我在 viewDidLoad 中只分配了一次点按钮。 我正在使用 popToRootViewController 方法从第三视图返回到第一视图。
我不想在我的第一个视图上显示这个点按钮。我该怎么做。
【问题讨论】:
-
请注意,
retainCount永远不能返回 0。
标签: iphone objective-c ios