我试图使用文本输入框更改我的iOS应用程序的亮度,我在网上找到了一些东西,告诉我如何创建依赖服务并使用UIScreen来设置应用程序的亮度,所以我就这么做了。下面是界面:
public interface IBrightnessService
{
void SetBrightness(float factor);
}下面是实际调用setBrightness的代码,其中我基于Xamarin输入表单(文本是输入的,当按下enter时调用此方法)。
void Entry_Completed(object sender, EventArgs e) {
var text = ((Entry)sender).Text; //cast sender to access the properties of the Entry
float value = float.Parse(text);
var brightnessService = DependencyService.Get<IBrightnessService>();
brightnessService.SetBrightness((float)value);
}下面是用iOS实现的代码。我测试了一些东西,值被正确地发送了,方法也被到达了,但是UIScreen.MainScreen.Brightness = brightness;这行代码实际上并没有改变UIScreen.MainScreen.Brightness,而且我似乎不知道为什么,所以我在寻找这方面的帮助。
using Xamarin.Forms;
using UIKit;
[assembly: Dependency(typeof (iOSBrightnessService))]
public class iOSBrightnessService : IBrightnessService
{
public void SetBrightness(float brightness)
{
UIScreen.MainScreen.Brightness = brightness;
}
}发布于 2021-09-20 02:10:24
iPhone模拟器的亮度是不可调的,你必须在真实的设备上尝试一下!
https://stackoverflow.com/questions/69213841
复制相似问题