我正在开发原型阶段的应用程序.某些界面元素没有通过故事板或以编程方式分配给它们的任何操作.
根据UX准则,我想在应用程序中找到这些"非活动"按钮,并在测试期间点击时显示"功能不可用"警报.这可以通过扩展UIButton来完成吗?
除非通过界面生成器或以编程方式分配其他操作,否则如何为UIButton分配默认操作以显示警报?
我想阻止我的 UIButtons 发出 RX tap 事件,直到某些控制流表明它已准备就绪。如果控制流恢复为未准备好,我希望再次禁用按钮。控制序列是一个ReplaySubject并且总是有值
我试过了skipUntil,但这是一次性操作——一旦控制序列发出,它就不能回到禁用状态——所有按钮按下都会通过,忽略控制序列
除非其他流具有特定值,否则如何限制 UIButton 发送点击事件?
let enableButtons = configStatusInputSequence
.filter { (configured, ready) -> Bool in
return configured && ready
}
for button in controlButtons{
button.rx.tap
.skipUntil(enableButtons)
.bind(to: commandOutputSequence)
.disposed(by: bag)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 2 个文件发送到我的 Apple Watch 应用。它最初有效,但现在我在控制台中打印了 2 个错误。
WCSession.default.transferFile(fileURL1, metadata: ["name":"first"])
WCSession.default.transferFile(fileURL2, metadata: ["name":"second")
Run Code Online (Sandbox Code Playgroud)
谁在打印错误 - 是我 iPhone 上的测试应用程序吗?
我可以按顺序传输 2 个文件,还是有限制 - 我需要等待第一个传输完成吗?
2018-11-18 11:05:53.010374-0500 SimpleWatchConnectivity[836:23347] [WC] -[WCFileStorage enumerateFileTransferResultsWithBlock:] 无法在路径 /var/mobile/Containers/Data/Application/C07047D9-87F7-4CBD 加载文件数据-AE79-AAE26D93A400/库/应用程序支持/com.apple.watchconnectivity/46CAD076-37A8-4B60-A93E-F0F21F457593/文件传输/D9E589D8-E21B-4A34-9A29-8D6B53E997D5/文件传输结果
该文档使文件看起来像是已排队,因此我不确定导致错误的原因:
/** 系统会将文件入队并在适当的时候将其传输到对应的应用程序。发送应用程序退出后,文件传输将继续。如果文件成功到达,对应的应用程序将在下次启动时收到委托回调。元数据字典只能接受属性列表类型。*/
我有一个 ARKit iOS 应用程序运行良好,但手机摔得很厉害,今天早上它没有捕获帧,而是向控制台发送垃圾邮件:
[default] IOConnectCallMethod (kIOHIDEventServiceFastPathUserClientCopyEvent): 0xe00002f0 (copySpec = (null))
CVDataBuffer contains an invalid header
Run Code Online (Sandbox Code Playgroud)
这个错误代表什么?
附言。检查了另一个 AR 应用程序 - 也不适用于 ARKit
我找到了这个有趣的界面(从33秒开始http://vimeo.com/22946428),并且想为我自己的应用程序设计类似的东西.我对圆形强度计/旋钮控制特别感兴趣,如附图所示. 它具有非常具有未来感的感觉,使用touchesMoved:手势识别器回调实现起来应该相当简单.
但是为了不重新发明轮子,是否有任何开源库提供高级UI功能,如图片/视频中的功能?
更新:Hubert的回答演示了如何使用单指动作旋转表盘.拼图的第二部分是:如何用颜色填充控件?
我正在考虑旋转背景颜色图像,但是它的一部分必须被切掉或用其他东西覆盖,从空背景变为完整.也许切出的元素(大约1弧度)可能会隐藏一组跟随手指的扇形段,并产生一种不断增加或减少量规填充的错觉.6段x,y将连续动画,以这样的方式定位它们以便仅覆盖控制的所需部分.

当指南针应用程序使用地图视图显示它的位置时,会有一个小圆锥体显示手机指向的方向.但是,我无法使用显示用户位置的MKMapView重现它.这种视锥功能是开发人员可以使用的,还是我必须自己实现?

谢谢!
iphone objective-c mkmapview cllocationmanager compass-geolocation
我添加了一个UIView依赖于TouchesMoved:事件来拖动触摸.在同一视图控制器中已存在长按,点击,旋转和捏合手势识别器.我遇到了一个视图接收touchesBegan:和touchesEnded:事件的问题,但没有触及.
我的问题是touchesMoved没有被调用是由手势识别器取消视图中的触摸引起的吗?我还有卷轴视图.这可能是罪魁祸首吗?
如果我将无法使用touchesMoved,这是实现"触摸和移动"功能的最近手势.是点击还是平移手势识别器?
谢谢您的帮助!
我将文件存储在本地文档目录中,由文件夹分隔.有没有一种简单的方法可以获取iPhone上文档目录和所有子目录的内容的文件大小?
我可以手动迭代文件夹并继续添加文件大小,但我希望有更清洁,更高效的东西.
谢谢 !
我有一个视图控制器布局在故事板中启用自动布局,我正在寻找一种方法来更改约束,以允许我的视图旋转到横向和重新排列屏幕上的按钮.当我尝试下面的代码时,我得到了大约二十几个"无法满足约束,打破约束......"消息,我无法真正解码.
有没有办法用编程方式指定的约束动态替换故事板中的约束?我想完全覆盖我在故事板中定义的按钮的布局.
-(void)updateViewConstraints
{
[super updateViewConstraints];
self.loginButton.translatesAutoresizingMaskIntoConstraints = NO;
self.getStartedButton.translatesAutoresizingMaskIntoConstraints = NO;
self.takeTourButton.translatesAutoresizingMaskIntoConstraints = NO;
[self.loginButton removeConstraints:self.loginButton.constraints];
[self.getStartedButton removeConstraints:self.getStartedButton.constraints];
[self.takeTourButton removeConstraints:self.takeTourButton.constraints];
one = self.loginButton;
two = self.getStartedButton;
three = self.takeTourButton;
NSDictionary *metrics = @{@"height":@50.0,@"width":@100.0,@"leftSpacing":@110.0};
NSDictionary *views = NSDictionaryOfVariableBindings(one,two,three);
[self.view removeConstraints:activeTestLabelConstraints];
[activeTestLabelConstraints removeAllObjects];
if(isRotatingToLandscape)
{
[self registerConstraintsWithVisualFormat:@"|-[one(two)]-[two(three)]-[three]-|" options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom metrics:metrics views:views];
[self registerConstraintsWithVisualFormat:@"V:[one(height)]-|" options:0 metrics:metrics views:views];
}else
{
[self registerConstraintsWithVisualFormat:@"|-leftSpacing-[one(width)]" options:0 metrics:metrics views:views];
[self registerConstraintsWithVisualFormat:@"[two(width)]" options:0 metrics:metrics views:views];
[self registerConstraintsWithVisualFormat:@"[three(width)]" options:0 metrics:metrics views:views];
[self registerConstraintsWithVisualFormat:@"V:[one(height)]-[two(75)]-[three(100)]-|" options:NSLayoutFormatAlignAllCenterX metrics:metrics views:views];
} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个基于精灵套件的游戏,而缺乏“右键单击”确实让我很难向用户传达一些重要信息。作为解决方案,我正在考虑长按、两指点击等手势。
如何在 SKSpriteNode 上实现手势?
这是我目前用来在触摸 SKSpriteNode 时获得类似按钮行为的方法。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self selectSkill:YES];
}
Run Code Online (Sandbox Code Playgroud) ios ×6
objective-c ×6
iphone ×4
swift ×2
arkit ×1
autolayout ×1
control-flow ×1
file ×1
gauge ×1
gestures ×1
ios12 ×1
ios6 ×1
ipad ×1
long-press ×1
mkmapview ×1
rx-swift ×1
size ×1
sprite-kit ×1
swift4 ×1
uibutton ×1
uiresponder ×1
uistoryboard ×1
uiview ×1
watchos-5 ×1
xcode ×1