gpt4 book ai didi

iphone - 如何保存已经用NSUserDefaults添加的subView?

转载 作者:可可西里 更新时间:2023-11-01 05:37:20 27 4
gpt4 key购买 nike

我在一个图书应用程序中工作,我想使用页面标记来帮助用户记住他停止阅读的地方。所以我添加了一个带图像的条形按钮(“mark.png”)。标记 View 将在点击时添加到章节 View ,如果再次点击标记将从 superView 中删除。我正在使用这段代码:

- (void)showMark {
if (![markView superView]) {
[chapterOne addSubView:markView];
}
else {
[markView removeFromSuperView];
}
}

它运行良好,但每次我退出应用程序并再次运行时,标记 View 都消失了,那么我该如何保留它呢?我发现一些论坛在谈论 NSUserDefaults 来保存操作,但我真的不知道如何在我的代码中使用它。任何帮助将不胜感激。

最佳答案

您不能使用 NSUserDefaults 来保存整个 View ,但您可以保存有助于确定书签设置位置的参数。

例如,如果您将书签作为页码的基础,您可以在用户离开 View Controller 时将页面保存到 NSUserDefaults。

示例:

[[NSUserDefaults standardUserDefaults] setInteger:23 forKey:@"bookMarkPage"];
[[NSUserDefaults standardUserDefaults] synchronize];

当用户返回 View Controller 时,您可以检查是否有书签:

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"bookMarkPage"] != nil) {
int pageNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@"bookMarkPage"];
[self setBookmarkForPage:pageNumber];
}

可能的书签构造方法:

- (void) setBookmarkForPage:(Int)pageNumber {
// run through the logic of placing the bookmark on the correct page
}

您可以使用任何需要的参数来确定放置书签的位置。当用户最初放置书签时,您使用什么参数来确定放置书签的位置?尝试在用户首次放置书签时使用相同的逻辑。

关于iphone - 如何保存已经用NSUserDefaults添加的subView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13956419/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com