iOS 7以前APP是不能控制调出设置界面的,iOS 8利用以下方法可以切换到设置界面 1[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];但是也是跳转到设置界面。你想要直接设置系统语言通过API是不可能的。
创新互联公司从2013年成立,先为二道江等服务建站,二道江等地企业,进行企业商务咨询服务。为二道江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在苹果手机的主屏幕,点击设置。
请点击输入图片描述
在设置界面,点击面容ID与密码选项。
请点击输入图片描述
这时需要输入苹果手机的锁屏密码。
请点击输入图片描述
4
进入面容ID与密码设置界面,将USB配件功能打开,这就是iphone开发者选项设置的地方。
移动界面是通过xcode开发的,用的语言是objective c。
ios开发的sdk中自带了很多ui类,以UIButton为例来说明:
UIButton继承于UIControl基类
UIButton缺省是圆角按钮,还有图片按钮、Info light、Info dark、Contack add、Detail disclosure
Button的点击事件中获取点击Button对象
- (IBAction) buttonClick:(id)sender
{
//将sender强制转换成Button类型,获取哪个按钮触发的点击事件
UIButton *button = (UIButton *)sender;
}
两种方法设置:
LaunchScreen.storyboard
在LaunchScreen.storyboard中拖拽imageView并设置约束,勾选右侧Use as launch Screen
工程—General—App Icons and Launch Images选项中设置Launch Screen File为所制作的LaunchScreen.storyboard或者LaunchScreen.xib
Assets.xcassets
设置LaunchImage
准备:
各种尺寸启动图:640 × 960,640 × 1136,750 × 1334,1242 × 2208,(横平需要2208 ×1242)
iPhone Portrait iOS5,6(1x:320 × 480 pixels, 2x:640 × 960 pixels, Retina 4:640 × 1136 pixels)
iPhone Portrait iOS8,9(Retina HD 5.5”:1242 × 2208 pixels, Retina HD 4.7”:750 × 1334 pixels)
iPhone Landscape iOS 8,9(Retina HD 5.5”:2208 × 1242 pixels)
iPhone Portrait iOS7,9(2x:640 × 960 pixels, Retina 4:640 × 1136 pixels)
iPhone X Portrait iOS 11+ (3x:1125 x 2436 pixels)
配置
工程—General—App Icons and Launch Images选项中设置Launch Image Source 为LaunchImage
LaunchScreen.storyboard 取消勾选Use as Launch Screen
置空路径Launch Screen File
在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个Prefs值,如下图:
需要设置Prefs
设置跳转有三种方式,每一种的使用场景都不同。 并且你在跳转到系统中自己应用下面设置的时候,你的应用要提前至少申请了某一个权限,如通知,定位等。否则,会引起崩溃。
当iOS系统版本 iOS 10.0 时
当iOS系统版本 =iOS 10.0 时
当 iOS系统版本 = iOS7时 , 只能跳转到 系统设置页面
当 iOS系统版本 = iOS8 ,支持跳转到第三方应用的设置界面中
使用prefs:root=bundleID ,bundleID是你第三方应用工程的唯一ID
局限性:只支持iOS8,iOS9系统,在iOS10系统上,不会跳转。
在iOS7系统上,仅仅只是跳转到设置应用,不推荐使用。
UIApplicationOpenSettingsURLString字段,是在iOS8上才提供的,支持iOS8,iOS9,iOS10系统,推荐使用。
跳转。
而 prefs:root=bundleID和 prefs:root=服务 都将不起作用。
方式一:prefs:root=某项服务 适用于 小于 iOS10的系统;
方式二:prefs:root=bundleID 适用于 大于等于iOS8系统,小于iOS10的系统
方式三:UIApplicationOpenSettingsURLString 适用于 大于等于iOS8的系统
iOS 11更新后很多盆友的导航栏透明度设置都失效了。在iOS11之前很多常见的用法是
获取这个子视图之后直接修改它的透明度,然后再监听的方法中:
在iOS11之后,由于导航栏的结构改变,导致了导航栏视图的层级会有所改变。这样的设置虽然能生效,但是我们的需求是在当前界面被Push出来的时候,此时偏移量是0,所以要求导航栏的透明度是0,随着便宜量变大,让导航栏的透明度逐渐增加。
此种方法,会发现当前界面push出来之后,默认的导航栏透明度还是在的,不是透明的状态,即便我们在
-(void)viewWillAppear:(BOOL)animated 方法中设置_barImageView.alpha = 0 也不会生效。通过断点你会发现,在-(void)viewDidAppear:(BOOL)animated 方法中,_barImageView.alpha 又被赋值等于了1,并且当前界面在滚动到alpha=0.5时push到其他界面之后,再pop回当前界,会出现同样的问题,当前界面导航栏的透明度也会先被赋值为1.
实际上无论导航栏层级如何变化,我们只需要知道navigationBar有个方法setBackgroundImage可以设置导航栏背景图,我们可以通过设置背景图的透明度来改变导航栏的透明度。
1.添加记录偏移量的成员变量
2.在viewWillAppear方法中设置navigationBar的
3.在scrollViewDidScroll方法中,根据偏移量进行赋值。
4.在viewWillDisappear方法中取消对navigationBar.setBackgroundImage的图片的设置,恢复其他界面navigationBar的样子。
好了,这样就能达到我们想要的效果了。如果你想让滚动到某个便宜量的时候,修改导航栏的字体颜色和状态栏的颜色为白色,还可以在scrollViewDidScroll:(UIScrollView *)scrollView方法中加上:
但是注意如果想让 [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent 此设置生效,必须修改info.plist中的View controller-based status bar appearance 为NO,才可以的。
另外,需要在viewWillAppear 和 viewWillDisappear 方法中对 导航栏的字体颜色和状态栏的颜色进行修改或者回复才能保证在 push 或者 pop的时候不会影响到其他界面。