小编Ole*_*ych的帖子

如何在Swift中以编程方式更改UIButton状态

我开发用于在屏幕上绘图的应用程序 我有一堆按钮的工具面板.根据当前的用户操作,其中一些必须被禁用或按下.考虑到"state"属性是只读的,我如何以编程方式更改按钮的UIControlState?如果不可能,为此目的可以选择什么?

uibutton ios uicontrolstate swift3

7
推荐指数
2
解决办法
2万
查看次数

在运行 Android 10 以下的设备上将文件保存到 MediaStore

我正在编写用于下载和存储不同类型的 MediaStore 文件的代码。对于运行 Android 10 及更高版本的设备,我将它们全部存储到Downloads集合中,并且工作正常。运行 Android 10 以下的用户没有此集合。一开始我尝试将它们存储到Files集合中,但事实证明不可能将例如图像存储到Files集合中。所以我来到了这段代码:

fun createDownloadsFile(context: Context, fileName: String, mimeType: String): Uri? {
    val values = ContentValues().apply {
        put(MediaStore.MediaColumns.DISPLAY_NAME, fileName)
        put(MediaStore.MediaColumns.MIME_TYPE, mimeType)
    }
    val collection = if (hasAndroid10()) {
        values.put(MediaStore.MediaColumns.IS_PENDING, 1)
        MediaStore.Downloads.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)
    } else getMediaStoreCollectionBelowAndroid10(mimeType)

    return context.contentResolver.insert(collection, values)
}

private fun getMediaStoreCollectionBelowAndroid10(mimeType: String): Uri = when {
    mimeType.startsWith("image/") -> MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL)
    mimeType.startsWith("audio/") -> MediaStore.Audio.Media.getContentUri(MediaStore.VOLUME_EXTERNAL)
    mimeType.startsWith("video/") -> MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL)
    else -> MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL)
}
Run Code Online (Sandbox Code Playgroud)

现在,图像和视频在低于 10 的 Android 上可以正常存储。但尝试存储音频时会崩溃contentResolver.insert(collection, values)java.lang.NullPointerException: …

audio android download mediastore mime-types

5
推荐指数
0
解决办法
1592
查看次数

如何允许UIView位于iOS 10的状态栏中?

怎样让UIView像下面的图片一样位于状态栏下?

在此处输入图片说明

styles statusbar ios10

4
推荐指数
1
解决办法
3611
查看次数

如何更改谷歌地图中标记和信息窗口之间的距离?

在我的设计中,标记和信息窗口之间有一段距离。有办法实现这一点吗?

图片

编辑:我的问题是如何将信息窗口向上移动一点。

android google-maps google-maps-markers

3
推荐指数
1
解决办法
958
查看次数

0
推荐指数
2
解决办法
3134
查看次数