在Siwft 3中,我找不到用于计算节点位置的CGRectGetMidX和Y. 我也找不到CGPointMake.在这种情况下,我如何在SKScene的中心设置节点?
谢谢!
更新: 我通过这种方式创建了一个节点并指定了它的位置;
let node = SKSpriteNode()
node.position = CGPoint(x:self.frame.size.width/2, y:self.frame.size.height/2)
node.size = CGSize(width: 100, height: 100)
node.color = SKColor.red
self.addChild(node)
Run Code Online (Sandbox Code Playgroud)
为什么它在指定位置的其他地方?我首先想到Swift3发生了变化,CGPointMake的丢失导致了这个问题,但看起来并不是原因.在这种情况下,CGRect的使用更好吗?如果您可以编写修复此职位问题的代码,那将非常有用.再次,谢谢你的帮助.
我想知道是否可以将UIView属性连接到UIViewController.通过连接a UIView,我想转换到第二个视图控制器.我通过拖动和编码尝试了几次,但我只是假装.我正在寻找不需要像使用seague那样编程的方法.
有没有实现这个目标的东西?
谢谢
我不知道为什么会出现这个错误。我得到的错误是
由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“所需条件为假:_recordingTap == nil”
更新
实际上,这是可行的,但几次之后,按钮突然被禁用,麦克风不再工作。然后它会导致错误并崩溃。
你能帮我解决这个问题吗?
class ViewController: UIViewController, SFSpeechRecognizerDelegate, UITextViewDelegate, AVSpeechSynthesizerDelegate {
@IBOutlet weak var myTextView: UITextView!
@IBOutlet weak var microphoneButton: UIButton!
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))!
private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest?
private var recognitionTask: SFSpeechRecognitionTask?
private let audioEngine = AVAudioEngine()
var rightButton = UIBarButtonItem()
override func viewDidLoad() {
super.viewDidLoad()
microphoneButton.isEnabled = false
speechRecognizer.delegate = self
speechRecognizerFunc()
myTextView.delegate = self
myTextView.isUserInteractionEnabled = false
}
@IBAction func cancelButton(_ sender: UIBarButtonItem) {
self.dismiss(animated: true, completion: nil)
}
func speechRecognizerFunc(){ …Run Code Online (Sandbox Code Playgroud) 我在这里查看了一些现有的问题帖子,我试图实现所有代码,但最终无法成功实现任何代码.实际上,我认为UITextView如果最初设置文本,我理解如何更改内部某些文本的颜色,但我不明白的是,当我的文本tview开始进入编辑时,它似乎根本不能正常工作.在下面,我尝试的代码可以很好地满足我的期望行为;
func textViewDidBeginEditing(_ textView: UITextView) {
let main_string = ""
let getData: [String] = userDefaults.object(forKey: "myData") as! [String]
print("\(getData)")
let searchWords = "world"
let range = (main_string as NSString).range(of: searchWords)
let attribute = NSMutableAttributedString.init(string: main_string)
attribute.addAttribute(NSForegroundColorAttributeName, value: UIColor.red , range: range)
mytextView.attributedText = attribute
}
Run Code Online (Sandbox Code Playgroud)
我通过命名来保存输入数据UITextView.我尝试使用for循环来取出所有元素MyData并将其用作单个值.但是,在控制台中,有很多解释.我认为这是一种正确的写作方式,但我的mac说nooooooo.但是,如果我设置一个getData内部的String和main_string,例如,"这是我的问题.我想有人帮我世界"中main_string和"世界"在searchWords写在代码.然后在加载应用程序之后,在我的文本视图中,"世界"完全以红色突出显示,但在世界词之后,所有文本都是红色的.我不明白为什么我被这个未知的bug折磨.
所以我想要完成的是
searchWords,我只希望在用户输入时及时突出显示存储的单词.例如,如果用户键入"hello"和"world".然后它们被保存,myData只有在键入时它们才会被突出显示.当键入未存储的单词时,切换回正常颜色.我想我缺乏一些解释.如果您需要了解某些信息,请指出.非常感谢!!
我想在声音播放完成后激活一个功能.我认为需要包含NSTimer,但我不确定如何实现它.如果你能给我一些有用的代码,那将会很有帮助.