IOS

iOS实现图片折叠效果

2020-02-18
本文实例为大家分享了iOS实现图片折叠效果的具体代码,供大家参考,具体内容如下 效果图: 结构布局:拖两个UIImageView到控制器,设置相同的frame和图片,再拖一个大的UIImageView盖在上面,注意把大的imageView.userInteractionEnabled = YES;能够添加手势. 注意层次结构: 核心代码: // // ViewController.m // 图片折叠 // // Created by llkj on 2017/8/31. // Copyright

iOS SwiftUI 颜色渐变填充效果的实现

2020-02-18
SwiftUI 为我们提供了各种梯度选项,所有这些选项都可以通过多种方式使用. Gradient 渐变器 A color gradient represented as an array of color stops, each having a parametric location value. gradient是一组颜色的合集,每个颜色都忽略位置参数 LinearGradient 线性渐变器 线性渐变器拥有沿轴进行渐变函数,我们可以自定义设置颜色空间.起点和终点. 下面我们看看Linear

iOS 超级签名之描述文件的实现过程

2020-02-17
简介 因为最近企业签掉得太严重了,上头要求实现超级签进行游戏下载.故有了此文章,记录一下过程. 签名原理其实很简单,超级签名的技术就是使用个人开发者账号,将用户的设备当作开发设备进行应用分发.这也导致成本非常高,一个开发者账号最多只能注册一百台设备,然而一个账号的价格为99美元.不过目前超级签分发的应用稳定性很高,不用再像企业签那样经常掉签. 新建 .mobileconfig 描述文件 该描述文件用于获取用户设备的UDID,用户通过某个点击操作下载此文件,安装后服务器会收到该用户设备的 UDID

iOS mobileconfig配置文件进行签名的配置方法

2020-02-17
配置描述文件(.mobileconfig) 是XML文件,包含设备安全策略.VPN配置信息.Wi-Fi设置.APN设置.Exchange帐户设置.邮件设置以及允许iPhone和iPod touch与企业系统配合使用的证书.本文描述了苹果开发者如何使用SSL证书对. mobileconfig进行签名,从而确保iOS系统上的app安全性. 前提条件 确保已经获取SSL数字证书.有关获取数字证书方法,可参阅如何获取数字证书. 本文使用的SSL证书文件名为mbaike.crt. 与SSL证书对应的私钥.

Swift 去除 TableView 多余的空Cell中的横线的方法

2020-02-17
在使用 UITableViewController 的时候,多余的空 cell 会默认展示很多横线. 如何去除呢? 给 footerHeight 反一个极小的值就可以了 override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 0.001 } 结果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

IOS在SwiftUI中显示模态视图的实例代码

2020-02-16
简介 这里教大家如何弹出一个简单的模态视图.分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B.我们要做的是在A视图中点击按钮跳转到B视图,然后再从B视图点击按钮返回到A视图. 步骤 在A视图中创建按钮和模态视图代码 struct ContentView: View { @State var isPresented = false var body: some View { Button(action: { self.isPresented = true

详解Swift 之clipped是什么如何用

2020-01-24
clipped()函数介绍 Clips the view to its bounding rectangular frame. 将View裁剪成矩形 By default, a view's bounding frame is used only for layout, so any content that extends beyond the edges of the frame is still visible. Use the clipped(antialiased:)modifier

浅谈SwiftUI 里面$0是什么意思如何用

2020-01-22
$0表示传递给Swift闭包的第一个参数,是Swift语言的语法糖.Swift会自动为内联闭包提供速记参数名称,可使用$0,$1,$2等名称来引用闭包参数的值. 代码 import UIKit let name = [1,2,3,9,8,6] let reverseName = name.sorted(by:{$0>$1}) let reverseName2 = name.sorted(by:{$1>$0}) print(name) print(reverseName) print(rever

iOS 无卡顿同时使用圆角、阴影和边框的实现

2020-01-12
在 iOS 开发中,最怕看到设计稿里圆角.阴影和边框同时出现,这三兄弟简直就是性能杀手. 优化的方法百度一下有很多,虽然方法不同但是原理都一样. 分享一个我自己一直使用的方法:在一个 View 里只应用一种效果,然后通过组合的方式达到效果. override init(frame: CGRect) { super.init(frame: frame) imageView = UIImageView(image: UIImage(named: "img")) imageView.laye

安装win10+黑苹果双系统零基础教程(图文)

2020-01-07
一.准备工作 准备8g以上的U盘 安装TransMac 下载地址:https://www.jb51.net/softs/596307.html 安装Hasleo EasyUEFI 下载地址:https://www.jb51.net/softs/527101.html 安装DiskGenius 下载地址:https://www.jb51.net/softs/19980.html 系统镜像,格式注意是.dmg,我示范的版本为mac 10.13.3 https://www.jb51.net/softs

iOS 中事件的响应链和传递链

2019-12-28
iOS事件链有两条:事件的响应链:Hit-Testing事件的传递链 响应链:由离用户最近的view向系统传递.initial view –> super view –> -.. –> view controller –> window –> Application –> AppDelegate 传递链:由系统向离用户最近的view传递.UIKit –> active app's event queue –> window –> root view –

IOS Ble蓝牙开发实现方法

2019-12-23
本篇博文阐述如何开发Ble蓝牙.在蓝牙中的一些常见服务,扫描,以及链接: 主蓝牙类文件.h 主蓝牙类文件.m UUID文件 蓝牙列表展示的文件 一:引入Ble蓝牙的框架<CoreBluetooth/CoreBluetooth.h> BuleHelp.h #import <Foundation/Foundation.h> //导入蓝牙框架 #import <CoreBluetooth/CoreBluetooth.h> #import "DeviceModel.h

iOS蓝牙开发 蓝牙连接和数据读写

2019-12-23
在做蓝牙开发之前,最好先了解一些概念: 服务(services):蓝牙外设对外广播的必定会有一个服务,可能也有多个,服务下面包含着一些特征,服务可以理解成一个模块的窗口: 特征(characteristic):存在于服务下面的,一个服务下面也可以存在多个特征,特征可以理解成具体实现功能的窗口,一般特征都会有value,也就是特征值,特征是与外界交互的最小单位: UUID:可以理解成蓝牙上的唯一标识符(硬件上肯定不是这个意思,但是这样理解便于我们开发),为了区分不同的服务和特征,或者给服务和特征取

IOS-MVC层读取服务器接口JSON数据

2019-12-23
此篇文章主要讲述获取服务器JSON接口数据,以便大家在今后的物联网信息时代,移动数据肯定都是需要网络数据的,那么就需要用一个分布集中,整体化的,规范性的创建所需的文件,同时方便以后维护: 分别为:M(model),M(manager),V(view),C(cell),C(controller); 具体程序如下: 一:YSMasonryManager.h #import <Foundation/Foundation.h> #import "BaseManager.h" #im

iOS蓝牙开发数据实时传输

2019-12-22
随着iOS项目开发  很多app需要通过蓝牙与设备连接 蓝牙开发注意: 先定义中心设备和外围设备以及遵守蓝牙协议 @interface ViewController()<CBCentralManagerDelegate,CBPeripheralDelegate> @property (strong, nonatomic) CBCentralManager *manager; @property (nonatomic, strong) CBPeripheral *peripheral; @pro

IOS自定义UIButton九宫格效果

2019-12-22
此篇文章给大家描写如何写自定义九宫格,因为在开发中,这种需求也是常见不少.因此,主要利用UIButton阐述的: 实列不复杂,就两三个步骤完成: 一.定义宽度与高度(self.view) #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height #define JHRGB(r,g,b) [UIColor co

两行IOS代码实现轮播图

2019-12-22
此篇文章讲述IOS轮播图,仅需要几步就可以完成,很简单了. 第一步:利用cocopods导入KJBannerView组件 #import "KJBannerView.h" 第二步:在m文件加入代理 <KJBannerViewDelegate> //并且定义组件 @property (nonatomic,strong) KJBannerView *banner2; 第三步:实现就仅此一步 -(void)initData{ KJBannerView *banner2 = [[K

iOS实现锁屏页面控制音乐播放

2019-12-22
本文实例为大家分享了iOS锁屏页面控制音乐播放的具体代码,供大家参考,具体内容如下 //1.调整音频会话设置,确保应用进入后台或静音开关已开启时音频仍将继续播放 //2.锁屏状态下显示媒体信息 //3.锁屏上的空间可以控制音频播放 #import "ViewController.h" #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> @interface ViewC

iOS音乐后台播放及锁屏信息显示

2019-12-22
本文实例为大家分享了iOS实现音乐的后台播放,以及播放时,可以控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示 此实例需要真机调试,效果图如下: 工程下载:github工程下载 实现步骤: 1.首先修改info.plist 2.其次引入两个需要的框架 #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> 3.设置播放器及后台播放 - (void)viewDidLoad { [super

详解iOS 轻松获取当前控制器的正确方式

2019-12-20
背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前正在显示的 visibleController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获取到当前控制器, 这种情况就需要先做好一层封装,我一般是通过 UIViewController 写的一个 Category 来实现, 实现起来也非常简单, 只需要我们对 控制器几个方法掌握便可. 获取根控制器 + (UIViewController *)jsd_getRootView