【问题标题】:How to load and save the alpha of a UIButton?如何加载和保存 UIButton 的 alpha?
【发布时间】:2011-09-10 19:22:51
【问题描述】:

如何在我的 iPhone 应用中保存和加载 UIButton 的 alpha 值?我想以最简单的方式做到这一点。我尝试过使用各种方法,但到目前为止没有一种方法对我有用。

【问题讨论】:

    标签: iphone objective-c ios xcode uibutton


    【解决方案1】:

    试试这个:

    CGFloat alpha = myButton.layer.opacity;

    您可能需要#import <QuartzCore/QuartzCore.h>


    编辑(来自SO Question):

    然后,你可以简单地把它存入NSUserDefaults

    [[NSUserDefaults standardUserDefaults] setObject:myButton.backgroundColor forKey:@"buttonColor"];
    [[NSUserDefaults standardUserDefaults] synchronize];  // Thanks @Shah for reminding us about this!
    

    然后像这样检索它:

    myButton.backgroundColor = [[NSUserDefaults standardUserDefaults] objectForKey:@"buttonColor"];
    

    当你完成它时:

    [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"buttonColor"];
    

    NSUserDefaults Class Reference

    【讨论】:

    • 是的,但是当用户关闭并再次打开应用程序时,如何保存和加载这些值?
    • 哦,为此,您需要查看这个问题Saving Data in an iPhone App。更新了答案以包含该问题的相关部分。
    • 完成了,但检索代码出现错误并说;语义问题:使用不兼容类型“id”的表达式初始化“CGFloat”(又名“float”) - 并以红色突出显示“btnAlpha”部分。
    • 哦,我解决了这个问题的答案。对于检索这样做NSNumber *btnAlpha = [[NSUserDefaults standardUserDefaults] objectForKey:@"buttonAlpha"]; 然后CGFloat floatAlpha = [btnAlpha floatValue];
    • 完成了,但与我添加任何代码之前相比没有任何改变,当应用程序关闭并重新启动时,alpha 仍然会自行重置... :(
    【解决方案2】:

    您可能想看看NSUserDefaults

    // Setting a value
    [[NSUserDefaults standardUserDefaults] setFloat:VALUE forKey:KEY];
    [[NSUserDefaults standardUserDefaults] synchronize]; // This line is required to persist all changes make to the User Defraults
    
    // Getting a value
    [[NSUserDefaults standardUserDefaylt] floatForKey:KEY];
    

    【讨论】:

    • 您遇到的错误是什么?你确定你用的是 floatForKey 而不是 objectForKey?
    • 是的,我没有收到任何错误,它只是不会保存/加载 alpha 值:(
    • 能否请您发布一些代码?我只是自己尝试了这个例子,它就像一个魅力。
    • 在此代码中,该值未分配给按钮的 alpha。使用 cross1.alpha = [[NSUserDefaults standardUserDefaults] floatForKey:@"cross1alphasetting"];您需要将加载的值分配给按钮的 alpha 属性。
    猜你喜欢
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2021-11-30
    相关资源
    最近更新 更多