Xcode 我的应用程序无法在 iPad 模拟器中运行,但可以在 iPhone 模拟器中运行

Posted

技术标签:

【中文标题】Xcode 我的应用程序无法在 iPad 模拟器中运行,但可以在 iPhone 模拟器中运行【英文标题】:Xcode my app won't work in the iPad simulator but works on iPhone simulators 【发布时间】:2021-04-25 19:53:03 【问题描述】:

此代码当前以“警告可能导致癫痫发作”的消息开头,当您按下作为按钮的消息时,屏幕将闪烁随机颜色。在 mainstory 板中,我将 didTapAdd 操作拖到我制作的按钮上。它适用于所有 iPhone 模拟器,但是当我在 iPad 上按下消息时,什么也没有发生。这怎么可能?

import UIKit

class ViewController: UIViewController 
    let colors: [UIColor] = [
        .systemYellow,
        .systemGreen,
        .systemPurple,
        .systemPink,
        .systemRed,
        .systemBlue,
        .systemOrange,
        .magenta, .darkGray, .gray, .lightGray, .brown, .cyan
    ]
    
    var label: UILabel?
    override func viewDidLoad() 
        super.viewDidLoad()
        view.backgroundColor = .clear
    
        let label = UILabel()
        view.addSubview(label)
        label.text = "Warning. May cause a seizure."
        label.textColor = UIColor.white
        label.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            label.topAnchor.constraint(equalTo: view.topAnchor, constant: 200),
            label.centerXAnchor.constraint(equalTo: view.centerXAnchor)
        ])
        self.label = label /// assign self.label, so we can access it later
        
    
    
    @IBAction func didTapButton() 
        if let myLabel = label 
            myLabel.removeFromSuperview()
            self.label = nil /// set to nil, so we won't try to remove it again
        
        
        let color1 = self.colors.randomElement()
        let color2 = self.colors.randomElement()
        
        self.view.layer.removeAllAnimations()
        self.view.backgroundColor = color1 /// set to color1
        UIView.animate(withDuration: 1/25, delay: 0, options: [.repeat, .autoreverse, .allowUserInteraction]) 
            self.view.backgroundColor = .black
            self.view.backgroundColor = color2// now animate to color2, reverse, then repeat
        
    

【问题讨论】:

对我来说很好:screenshot 感谢您查看!你认为我做错了什么或者你做了什么不同?它可以工作,您可以在消息的中间或消息的左侧看到它,具体取决于我使用的 iPad。我可以让它在他们点击屏幕的任何地方都可以工作..thansk! 你添加约束了吗? 你是怎么做的,可以给我看看吗 【参考方案1】:

确保添加约束——它们很复杂,但这里有一个很好的 guide 开始。但是,对于您的情况,简单的“对齐”约束应该可以正常工作。

    在情节提要中选择您的按钮 检查Horizontally in ContainerVertically in Container

    在键盘上按 Return/Enter 查看结果:
Storyboard Device

【讨论】:

非常感谢,但我很烂,做不到 :( 你有 TeamViewer 吗? @ArashKalhori 不,但我有 Discord - aheze#3125 谢谢酷我会明白的你知道如何使用烧瓶吗? @ArashKalhori nope

以上是关于Xcode 我的应用程序无法在 iPad 模拟器中运行,但可以在 iPhone 模拟器中运行的主要内容,如果未能解决你的问题,请参考以下文章

iPad 模拟器上的 SKScene 问题无法在 Xcode 11 beta 7 中填满屏幕

XCode 8.1 (8B62) - 无法在 iPad Retina (ipad 4) 上构建应用程序

为啥 Xcode 4.1 说我的 iPad 专用应用程序可以在 iPhone 模拟器中运行?

为啥 XCode 说我的 iPhone 应用程序只能在 iPad 上运行?

将 Xcode 的目标设置为 iPhone 而不是 iPad

更新到 XCode 8 后 iPad 上的应用程序崩溃