ios - 如何使图像仅在 iPhone 6/6s 上可见

标签 ios swift image uiimageview

所以我想用 swift 或 Storyboard在 xcode 中制作一张只在 iPhone 6 和 6S 上可见的图像。你们有什么建议吗? :)

最佳答案

第一步是确定设备是 6 还是 6S。这是执行此操作的 Swift 代码:

import Foundation
import UIKit

extension UIApplication
{
    public func isIPhone6or6S() -> Bool
    {
        let IPHONE_6 = "iPhone7,2"
        let IPHONE_6S = "iPhone8,1"

        var systemInfo = utsname()
        uname(&systemInfo)
        let machineMirror = Mirror(reflecting: systemInfo.machine)
        let identifier = machineMirror.children.reduce("") { identifier, element in
            guard let value = element.value as? Int8 where value != 0 else { return identifier }
            return identifier + String(UnicodeScalar(UInt8(value)))
        }

        return ( identifier == IPHONE_6 || identifier == IPHONE_6S) ? true : false;
    }
}

然后你就可以在你的 UIViewController 中轻松地使用它了,就像这样:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var phoneOnlyImage: UIImageView!
    @IBOutlet weak var hiddenStatusLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        // hide it if it is not an iPhone 6 or 6S
        self.phoneOnlyImage.hidden = !(UIApplication.sharedApplication().isIPhone6or6S())

        // show the label so you know if it's working
        self.hiddenStatusLabel.text = (self.phoneOnlyImage.hidden) ? "Image is Hidden" : "Image is visible"
    }
}

关于ios - 如何使图像仅在 iPhone 6/6s 上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841933/

相关文章:

ios - 每次我打开 View Controller 时都会获取聊天消息

android - returnKeyLabel 与 returnKeyType react native ?

android - 在android中创建缩放位图时保持图像质量

ios - 关闭 iOS 原生 MPVolumeView 音频路由菜单

iOS 打开 pdf 使用我自己的应用程序设置不起作用

ios - 在 .xib 所有者的 ViewController 中为 textField 设置委托(delegate)

ios - 删除一个后,如何获取新中心 UICollectionViewCell 的 indexPath?

ios - NSXMLParser parse() 只工作一次

javascript - 通过右键单击保护图像不被下载

php - 使用 GD 库从现有图像中去除黑边