ios - 当按钮按下主机应用程序时如何更改自定义键盘的背景颜色?

标签 ios swift cocoa-touch custom-keyboard

我正在尝试从主机应用程序更改我的自定义键盘背景,但由于某种原因它不起作用。

我尝试了 NSUserDefaults 但它不起作用,这是从主机应用程序按下按钮时的代码:

func buttonTapAction() {

    NSUserDefaults.standardUserDefaults().setInteger(1, forKey: "abc")
}

这样我就可以从磁盘读取值,但它总是执行其他条件:

override func viewDidLoad() {
    super.viewDidLoad()

    let abc = NSUserDefaults.standardUserDefaults().integerForKey("abc")
    if abc == 1 {
        self.view.backgroundColor = UIColor.redColor()
    }else{
        self.view.backgroundColor = UIColor(red: 241.0/255, green: 235.0/255, blue: 221.0/255, alpha: 1)
    }

    //Other code

}

我不知道自己做错了什么。

HERE是我的完整项目。

最佳答案

为两个目标启用应用组

第 1 步。

enter image description here

请记住,NuberWidget Target 的步骤和组名称应该相同。

第 2 步。

enter image description here

第 3 步。

enter image description here

第4步.储值代码

objective-c

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.yourcompany.TodayExtensionSharingDefaults"];

[sharedDefaults setInteger:[self.textField.text integerValue] forKey:@"MyNumberKey"];
[sharedDefaults synchronize];   // (!!) This is crucial.

swift

let appGroupID = "group.yourcompany.TodayExtensionSharingDefaults"
let defaults = NSUserDefaults(suiteName: appGroupID)
 defaults.setInteger(1, forKey: "MyNumberKey")

第 5 步。

objective-c

 NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.TodayExtensionSharingDefaults"];
    NSString* colornumber= [defaults objectForKey:@"MyNumberKey"];

swift

let appGroupID = "group.yourcompany.TodayExtensionSharingDefaults"
let defaults = NSUserDefaults(suiteName: appGroupID)
let number = defaults.integerForKey("MyNumberKey")

第6步。最后但不是列表是不要忘记启用“允许完全访问”启用。 转到键盘 -> info.plist -> NSExtention -> NSExtensionAttributes

enter image description here 这样你就可以解决你的问题。

关于ios - 当按钮按下主机应用程序时如何更改自定义键盘的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071857/

相关文章:

ios - 使用 React Native 在 iOS 上下载文件

ios - 何时对核心数据模型进行版本化

ios - 使用 Swift 制作可点击的 UILabel

cocoa-touch - UITableView 之外的 UITableViewCell

ios - 如何使用快速枚举修改 NSArray 的字符串元素?

ios - Xamarin Forms : ImageSource. FromUri 不显示

具有返回类型重载的 Swift 泛型函数调用函数

swift - 在 Swift 类中更改绑定(bind)变量

iphone - 使用 UITextField 中的号码调用电话

iphone - 如何通过 TableView 获取索引值来删除核心数据条目