UIButton在storyboard中的设置

type 里面常用的是Custom和system的样式,其中custom可以自定义图片

在这里插入图片描述

state config,设置4种状态下的各种属性,

在这里插入图片描述

  • default 是没有被按下的普通状态
  • highlighted是被按下以后的高亮状态
  • selected被选中的状态
  • disabled是不可用状态
    这4种状态都要分别设置下面的属性,文字标题,颜色,阴影,内容图片,背景图片都要分别设置4种
    在这里插入图片描述

image按钮内部小图片和background背景图片

在这里插入图片描述

  • image里面设置的图片,会在按钮控件的中心如果控件放大,图片始终在中心,而且不会跟着放大,始终保持比例和大小不变。
  • background 背景图片,会铺满整个按钮控件,而且控件放大,图片也会跟着放大,不会保持图片比例,一般用纯色图片做背景。

control代表程序刚运行以后,按钮初始状态

  • Alignment 可以选择对齐方式。
  • selected 状态
  • highlighted(高亮状态)
  • enabled (可用状态,如果不打钩,就变成了灰色按钮,不可用)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您提供一个简单的录音和播放程序。请按照以下步骤操作: 1. 创建一个新的 Xcode 项目,选择 Single View App 模板,语言选择 Swift。 2. 在 Main.storyboard 添加两个按钮(录音和播放)和一个标签,用于显示录音和播放状态。 3. 在 ViewController.swift 文件添加以下代码: ```swift import UIKit import AVFoundation class ViewController: UIViewController, AVAudioRecorderDelegate, AVAudioPlayerDelegate { @IBOutlet weak var statusLabel: UILabel! var audioRecorder: AVAudioRecorder? var audioPlayer: AVAudioPlayer? override func viewDidLoad() { super.viewDidLoad() setupRecorder() } func setupRecorder() { let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setCategory(AVAudioSession.Category.playAndRecord) try audioRecorder = AVAudioRecorder(url: getFileURL(), settings: getAudioSettings()) audioRecorder?.delegate = self audioRecorder?.prepareToRecord() } catch { print("Error setting up audio recorder: \(error.localizedDescription)") } } func getFileURL() -> URL { let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] let audioURL = documentsDirectory.appendingPathComponent("recording.caf") return audioURL } func getAudioSettings() -> [String: Any] { let settings = [ AVFormatIDKey: NSNumber(value: kAudioFormatAppleLossless), AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue, AVEncoderBitRateKey: 320000, AVNumberOfChannelsKey: 2, AVSampleRateKey: 44100.0 ] return settings } @IBAction func startRecording(_ sender: UIButton) { if audioRecorder?.isRecording == false { let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setActive(true) audioRecorder?.record() statusLabel.text = "Recording..." } catch { print("Error starting recording: \(error.localizedDescription)") } } } @IBAction func stopRecording(_ sender: UIButton) { if audioRecorder?.isRecording == true { audioRecorder?.stop() let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setActive(false) statusLabel.text = "Recording stopped" } catch { print("Error stopping recording: \(error.localizedDescription)") } } } @IBAction func playRecording(_ sender: UIButton) { if audioPlayer?.isPlaying == false { do { try audioPlayer = AVAudioPlayer(contentsOf: getFileURL()) audioPlayer?.delegate = self audioPlayer?.play() statusLabel.text = "Playing..." } catch { print("Error playing audio: \(error.localizedDescription)") } } } func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder, successfully flag: Bool) { if flag { statusLabel.text = "Recording saved" } else { statusLabel.text = "Recording failed" } } func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) { if flag { statusLabel.text = "Playback finished" } else { statusLabel.text = "Playback failed" } } } ``` 这段代码包括了以下内容: - 创建 AVAudioRecorder 和 AVAudioPlayer 实例来处理录音和播放 - 设置录音的 URL 和参数 - 设置录音和播放的按钮动作 - 显示录音和播放状态的标签 - 实现 AVAudioRecorderDelegate 和 AVAudioPlayerDelegate 来处理录音和播放完成后的事件 4. 运行应用程序并在iPhone测试录音和播放功能。 请注意,这只是一个简单的示例,您可以根据您的需求进行修改和扩展。同时,您需要确保在应用程序的 Info.plist 文件添加了麦克风和音频播放权限,否则应用程序将无法访问麦克风或播放音频文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值