我找不到任何方式以编程方式更改Watch应用程序界面的整体背景颜色.
因此,我尝试创建一个全屏WKInterfaceGroup并更改它的backgroundColor.
centralGroup.setBackgroundColor(UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0))
Run Code Online (Sandbox Code Playgroud)
但是,我仍然在边框上有未填充的圆角和线条.

有没有办法实现我的目标,填充屏幕的边缘到边缘的背景颜色?
我想将我的UIImage设置为WKInterfaceImage,但模拟器只显示黑屏.它可以正常使用 setImageNamed: NSString*方法,但不能使用setImage: UIImage*.我的file1.png被添加到"(App Name)WatchKit App"文件夹中.
- (void)willActivate {
[self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work
[self.imageView1 setImageNamed: @"file1"]; // works OK
[super willActivate];
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
当我在基于页面的导航中从页面呈现模态屏幕时,整个屏幕向上移动并且状态栏不再可见.
这是一个问题的GIF:

我正在使用xCode 6.2版本.
这不是在xCode 6.2 Beta 4中发生的.
我不确定这是否是模拟器问题,或者这实际上也会发生在真实设备上.
有没有人有同样的问题?有解决方法吗?
我向苹果报告了一个错误(20109240)并且它被标记为(19862945)的副本,并且它仍然是开放的.
提前致谢
如何使用Swift将存储在标签中的数据从我的接口控制器传递到WatchKit中的另一个接口控制器?我似乎无法在任何地方找到答案,希望有人在这里可以帮助我.我已经包含了我的代码部分,它涉及计算我需要传递的值.我基本上想要显示用户计算的相同值,并在下一个名为ResultsController的接口控制器中详细说明.非常感谢任何帮助:D
class InterfaceController: WKInterfaceController {
var currentValue: String = "0"
func setDisplayValue(value: Double)
{
var percent = value
// check if value is an integer
if value % 1 == 0
{
// our value is an integer
currentValue = "\(Int(value))"// new value %
}
else
{
// our value is a float
currentValue = "\(value)"
}
// Display 2 decimal places in final amount
var round = NSString(format:"%.2f", value)
displayLabel.setText("$\(round)") // Display final value
// This value is what …Run Code Online (Sandbox Code Playgroud) 我用随附的Apple Watch应用程序构建了一个iOS应用程序,最近将其提交到App Store.今天早上,因未能安装而被拒绝.以下是重现的步骤:
显然,我没有Apple Watch来测试它,但它在模拟器中工作正常(并且在Apple Watch模拟器上安装得很好).也许这与我在提交前的签名方式有关?有没有人遇到同样的问题?
以下是Apple Watch上报告的错误消息(由Apple的审核小组提供给我):
应用验证失败
当我运行下面的代码时,返回的方法rowControllerAtIndex为WKInterfaceTablenil.
[self.outletTable setNumberOfRows:numberOfCategoriesToShow withRowType:@"rowTypeLabel"];
RowControllerTypeLabel *theRow = [self.outletTable rowControllerAtIndex:rowInTable];
Run Code Online (Sandbox Code Playgroud)
我检查了什么:
RowControllerTypeLabel.Custom Class标签的字段设置为我的自定义类RowControllerTypeLabel.我错过了什么?
我们正在开发一个Apple Watch项目,但如果不间断的话,手表会进入睡眠状态.
有什么方法可以阻止它进入睡眠状态吗?
目前Apple Watch中有3种通知:
Short - 你根本无法自定义这些.Static - 您可以在故事板上自定义这些.Dynamic - 可以使用Notification有效负载上没有的新数据自定义UI元素.这是问题(项目正在使用Watch OS 1),如果应用程序从未打开Apple Watch过Static通知将显示而不是Dynamic一个,日志将显示错误
花太长时间显示自定义通知.回归静止
我已经删除了通知代码ViewController,除了这个:
-(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler
{
completionHandler(WKUserNotificationInterfaceTypeCustom);
}
Run Code Online (Sandbox Code Playgroud)
我仍然得到这个错误.
我必须澄清,应用程序从手表运行至少一次后,每件事情都按预期工作,并且Dynamic通知界面显示正常.
我仔细检查过的事情:
didReceiveRemoteNotificationWKUserNotificationInterfaceController 子类连接到我的storyboard文件中的Dynamic interface Controller我已经在Apple文档中搜索了一些可以验证此行为但无法找到相关内容的内容.起初我认为我的应用程序没有正确配置某些东西但后来发现这在我尝试的所有Apple手表应用程序中都很常见.
重现步骤:
Static notification并且设备日志将显示"太长时间以显示自定义通知.回退到静态"错误.Dynamic.Watch应用程序打开后至少一次以上很难重现.从手机删除应用程序并观看并重新安装所有内容仍然会显示Dynamic通知.
有人经历过吗?
有没有办法显示动态通知而无需在手表上至少打开一次应用程序?
在我的项目中,我使用app group将数据传输到apple watch!这看起来像这样
let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
sharedDefaults?.setObject(MyData, forKey: "DataKey")
sharedDefaults?.synchronize()
Run Code Online (Sandbox Code Playgroud)
在WKInterfaceController中,我使用以下代码获取数据:
let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
let MyData = sharedDefaults?.objectForKey("DataKey") as! [[AnyObject]]
Run Code Online (Sandbox Code Playgroud)
一切正常!
现在我尝试检测sharedDefaults中的数据?.objectForKey("DataKey")是否确实发生了变化.我尝试使用addObserver方法:
override func willActivate() {
NSUserDefaults(suiteName: "group.com.myappname.defaults")!.addObserver(self, forKeyPath: "DataKey", options: NSKeyValueObservingOptions.New, context: nil)
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>){
print("Data Changed")
}
Run Code Online (Sandbox Code Playgroud)
但是"覆盖func observeValueForKeyPath"仅在WKInterfaceController激活时调用,并且当我在NSUserDefaults中更改数据时没有调用(suiteName:"group.com.myappname.defaults")
我也尝试使用NSNotificationCenter:
override func willActivate() {
let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(userDefaultsDidChangeNotificationMethod(_:)), name: NSUserDefaultsDidChangeNotification, object: nil)
}
func userDefaultsDidChangeNotificationMethod(notification: NSNotification){
print("Data Changed") …Run Code Online (Sandbox Code Playgroud) 我有一个带有a的iOS + Watch应用程序UIPicker,并且我不断得到与之相关的日志,我无法弄清楚与Watch应用程序相关:
[默认] - [SPRemoteInterface handlePlistDictionary:fromIdentifier:]:2977:ComF: - >插件方法.pickerFocus未由控制器实现(null)
[default] - [SPRemoteInterface handlePlistDictionary:fromIdentifier:]:2977:ComF: - >插件方法.pickerClearFocus未由控制器实现(null)
我检查了文件和我能找到的最接近的是刚刚的pickerDidFocus()方法,这似乎是在谈论我有一般问题区,但对于具体没有明确的实施思路.pickerClearFocus和.pickerFocus.
watchkit ×10
ios ×7
apple-watch ×4
swift ×4
objective-c ×2
watchos-2 ×2
segue ×1
uipickerview ×1
xcode ×1