按下按钮进入主机应用程序时如何更改自定义键盘的背景颜色?
How to change background color of custom keyboard when button is pressed into host app?
我正在尝试从主机应用更改我的自定义键盘背景,但由于某些原因它不起作用。
我试过 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.
NuberWidget Target 相同的步骤和组名称请记住。
第 2 步
步骤 3.
存储值4.Code步
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 步。最后但未列出的是不要忘记启用 "Allow Full Access" 启用。
转到键盘 -> info.plist -> NSExtention -> NSExtensionAttributes
有了这个就可以解决你的问题了。
我正在尝试从主机应用更改我的自定义键盘背景,但由于某些原因它不起作用。
我试过 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.
NuberWidget Target 相同的步骤和组名称请记住。
第 2 步
步骤 3.
存储值4.Code步
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 步。最后但未列出的是不要忘记启用 "Allow Full Access" 启用。 转到键盘 -> info.plist -> NSExtention -> NSExtensionAttributes